keepalived + nginx + tomcat来实现HA的负载均衡(HA=高可用)
注:
此文未考虑session共享 ---> 负载均衡tomcat时利用memcached实现session共享 请参考另一篇博客
设备:
两台keepalived + nginx keepalived和nginx同一台服务器都要安装 IP为 192.168.159.31和192.168.159.34
两台 tomcat服务器 IP为 192.168.159.32和192.168.159.33
第一步:nginx实现负载均衡
1:配置nginx.conf (我主要贴出来重要的代码)
upstream you { # 这个是负载均衡哪几台服务器
server 192.168.159.32:8080;
server 192.168.159.33:8080;
}
server {
......
location / {
root html;
index index.html index.htm;
proxy_pass http://you; # 引用定义的you
}
......
}
2:两台nginx都需要配置上述代码
3:把两台的tomcat都启动;可以启动一台nginx(192.168.159.31);
然后浏览器中输入192.168.159.31 即可在页面上看到访问了不同的tomcat(可以修改index.jsp来区分tomcat)
第二步:利用keepalived 来实现高可用
1:上述已经表明两台keepalived的IP为 192.168.159.31和192.168.159.34
2:此处规定 192.168.159.31为MASTER(主) 192.168.159.34为BACKUP(备) 虚拟IP为 192.168.159.200
3:配置/etc/keepalived/keepalived.conf (一般就是这个路径)
代码如下:
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from hello@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script check_nginx {
script "/home/check_nginx.sh" #在/home下创建check_nginx.sh
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER #在另一台上为BACKUP
interface eth0
virtual_router_id 51
priority 199 #在另一台上修改小点,最好相差50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.159.200/24 dev eth0 label eth0:1 #绑定虚拟IP(VIP) 此IP为浏览器访问的IP
}
track_script {
check_nginx
}
}
4:vi /home/check_nginx
#!/bin/bash
#
URL="http://192.168.159.31" #此处对应nginx的IP地址
code=`curl -I -m 5 -o /dev/null -s -w %{http_code} $URL` #检测nginx是否还活着
if [ $code -ne 200 ];then
sleep 2
code=`curl -I -m 5 -o /dev/null -s -w %{http_code} $URL`
if [ $code -ne 200 ];then
`service keepalived stop`
fi
fi
5:上述 3和4部 两台keepalived+nginx上都要执行 并做相应的修改
第三步:
1:启动tomcat,nginx,keepalived
2:查看主keepalived上 ifcofig 可以看到虚拟IP;备keepalived上 并没有虚拟IP
3:页面输入 192.168.159.200(VIP) 即可访问
4:把主keepalived(192.168.159.31)上 停止nginx 此时在查看ifconfig 发现没有虚拟IP了
在备keepaived上 可以看到有虚拟IP
5:页面输入 192.168.159.200(VIP) 还是可以正常的访问
结束:
这样就完成了高可用,IP漂移
相关推荐
Keepalived+Nginx+Tomcat 高可用集群搭建实战记录 Keepalived 是一种高可用性解决方案,可以与 Nginx 和 Tomcat 配合使用来实现高可用集群。下面是 Keepalived+Nginx+Tomcat 高可用集群搭建的实战记录。 ...
在构建高性能、高可用性的Web服务时,使用Nginx+keepalived+tomcat的组合可以实现强大的负载均衡和故障转移功能。这个方案的核心思想是利用Nginx作为前端反向代理服务器,通过keepalived来确保服务的高可用性,并将...
LVS+Keepalived+Nginx+Tomcat 高可用集群项目 本文主要讲述了如何构建一个高可用集群项目,使用 LVS、Keepalived、Nginx 和 Tomcat 实现高可用性和负载均衡。该项目的架构中,Keepalived 负责对 LVS 架构中的调度器...
Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...
这个压缩包包含了"keepalived+nginx+tomcat+redis+mysql"所需的基础组件,特别是Java Development Kit(JDK)。下面我们将详细探讨这些组件及其在IT领域的应用。 首先,JDK是Java编程语言的基石,它提供了编译、...
lvs+Keepalived+nginx高可用负载均衡搭建部署方案
Keepalived + Nginx 实现高可用 Web 负载均衡配置文件,具体详情参见博文:http://blog.csdn.net/l1028386804/article/details/72801492
### Keepalived+Nginx 实现高可用Web负载均衡 #### 场景需求 在现代互联网应用中,网站和应用程序需要处理大量的用户请求,并确保即使在服务器出现故障的情况下也能持续提供服务。为了满足这一需求,通常采用高可用...
本文将详细介绍如何通过`Nginx+KeepAlived+Tomcat`构建一个稳定、高效的负载均衡架构。 #### 二、关键技术介绍 ##### 1. Nginx - **简介**:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)...
在构建高可用、高性能的Web服务系统中,服务负载均衡和session共享是两个关键环节。本文将详细探讨如何使用lvs(Linux Virtual Server)、keepalived、nginx、tomcat以及memcached来实现这一目标。 首先,lvs是...
"keepalived+nginx双机热备+负载均衡 非抢占模式"是一种高级的IT解决方案,用于构建高可用、高性能的Web服务环境。通过Keepalived的VRRP和非抢占模式,保证了服务的连续性;Nginx则提供了灵活的负载均衡策略;配合...
在高并发场景中,仅靠单台 Nginx 可能不足以应对,这时可以结合 keepalived 实现高可用和负载均衡。Keepalived 提供 VRRP 协议来监控 Nginx 主备节点状态,当主节点故障时,流量会自动切换到备用节点,确保服务的...
"高可用之Keepalived+Nginx实现高可用Web负载均衡" Keepsalived 和 Nginx 是实现高可用 Web 负载均衡...5. VIPIP 主机名、Nginx 端口、默认主从关系等高可用之 Keepalived+Nginx 实现高可用 Web 负载均衡的关键技术。
【标题】"keepalived + nginx 主从热备"是一个重要的网络服务高可用性解决方案,主要应用于Web服务器集群,确保在主服务器发生故障时,流量能够无缝切换到备用服务器,保持服务的连续性和稳定性。 【描述】这个...
这里提到的“4 lvs+keepalived+nginx+tomcat”架构,就是一种常用的解决方案,用于处理高流量的Web服务。下面将详细解释每个组件的作用和配置方法。 1. LVS(Linux Virtual Server): LVS是Linux内核中的一个负载...
"LVS+KeepAlived+Nginx高可用实现方案" LVS(Linux Virtual Server)是一种虚拟服务器集群系统,旨在提供高性能、高可用的服务器解决方案。其主要特点包括可伸缩性、可靠性和可管理性。LVS通过IP负载均衡技术实现...
总结来说,"线上一键部署keepalived+nginx"是一种便捷的方法,用于搭建和管理具有高可用性和负载均衡功能的Web服务。通过Keepalived的故障切换机制和Nginx的负载均衡能力,可以显著增强系统的稳定性和性能。而使用...
本案例通过搭建一个基于`Keepalived`、`nginx`、`Tomcat`及`Redis`的服务集群来实现应用服务的高可用性和负载均衡,并通过`Redis`实现了`Tomcat`间的`Session`共享功能。 ### 一、环境简介 - **服务器配置**:两台...
这个文档"lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.docx"将详细解释每个组件的配置细节、集群的架构图以及可能出现的问题及解决方案,帮助你更好地理解和实施这个高性能的负载均衡集群。
Keepalived+nginx 实现双机主备 Keepalived 是一个基于 VRRP 协议的高可用性解决方案,可以与 Nginx 服务器集成,以实现双机主备的高可用性架构。在本文中,我们将详细介绍使用 Keepalived 和 Nginx 实现双机主备的...