keepalived + nginx 实现负载均衡
keepalived 用途
keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,
并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,
这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器
环境说明:centos6
192.168.1.102(keepalived ==> nginx) master
192.168.1.132(keepalived ==> nginx) slave
192.168.1.100 虚拟ip
102安装如下:
首先安装keepalived
下载地址:http://www.keepalived.org/download.html
Keepalived for Linux - Version 1.2.7 - August 29, 2012
下载到文件:keepalived-1.2.7.tar.gz
1.tar -xzvf keepalived-1.2.7.tar.gz
2.
cd keepalived-1.2.7
./configure --prefix=/home/soft/keepalived
错误1:
configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files. !!!
解决:yum -y install openssl-devel
错误2:
configure: error: Popt libraries is required
解决:yum install popt-devel
如果编译成功:
Keepalived configuration
------------------------
Keepalived version : 1.2.7
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : No
Use VRRP Framework : Yes
Use VRRP VMAC : Yes
SNMP support : No
Use Debug flags : No
make
提示:
Make complete
make[1]: Leaving directory `/home/soft/source/keepalived-1.2.7/genhash'
make install
3. 配置keepalived
cp /home/soft/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /home/soft/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /home/soft/keepalived/sbin/keepalived /usr/sbin/
vi /etc/keepalived/keepalived.conf
global_defs {
notification_email {
king_819@163.com
}
notification_email_from king_819@163.com
smtp_server smtp.163.com
# smtp_connect_timeout 30
router_id LVS_DEVEL
}
# VIP1
vrrp_instance VI_1 {
state MASTER #备份服务器上将MASTER改为BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 100 # 备份服务上将100改为90
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.102
#(如果有多个VIP,继续换行填写.)
}
}
virtual_server 192.168.1.102 80 {
delay_loop 6 #(每隔10秒查询realserver状态)
lb_algo wlc #(lvs 算法)
lb_kind DR #(Direct Route)
persistence_timeout 60 #(同一IP的连接60秒内被分配到同一台realserver)
protocol TCP #(用TCP协议检查realserver状态)
real_server 192.168.1.132 80 {
weight 100 #(权重)
TCP_CHECK {
connect_timeout 10 #(10秒无响应超时)
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.1.133 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
4.service keepalived start|stop
5.启动keepalived!,查看虚拟IP是否绑定!
ip addr
6.nginx源码安装 看 nginx/nginx源码安装.txt
102配置完成
--------------------------------------
下面配置132
安装keepalived 如上:
vi /etc/keepalived/keepalived.conf 这里有变动,具体内容如下:
global_defs {
notification_email {
king_819@163.com
}
notification_email_from king_819@163.com
smtp_server smtp.163.com
# smtp_connect_timeout 30
router_id LVS_DEVEL_2
}
# VIP1
vrrp_instance VI_1 {
state BACKUP #备份服务器上将MASTER改为BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 90 # 备份服务上将100改为90
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.100
#(如果有多个VIP,继续换行填写.)
}
}
virtual_server 192.168.1.100 80 {
delay_loop 6 #(每隔10秒查询realserver状态)
lb_algo wlc #(lvs 算法)
lb_kind DR #(Direct Route)
persistence_timeout 60 #(同一IP的连接60秒内被分配到同一台realserver)
protocol TCP #(用TCP协议检查realserver状态)
real_server 192.168.1.102 80 {
weight 100 #(权重)
TCP_CHECK {
connect_timeout 10 #(10秒无响应超时)
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.1.132 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
同样安装nginx
--------------------------
测试:102上执行 service keepalived stop
检测132是否接替任务
分享到:
相关推荐
Keepalived + Nginx 实现高可用 Web 负载均衡配置文件,具体详情参见博文:http://blog.csdn.net/l1028386804/article/details/72801492
### Keepalived+Nginx 实现高可用Web负载均衡 #### 场景需求 在现代互联网应用中,网站和应用程序需要处理大量的用户请求,并确保即使在服务器出现故障的情况下也能持续提供服务。为了满足这一需求,通常采用高可用...
lvs+Keepalived+nginx高可用负载均衡搭建部署方案
Keepalived 是一种基于 Linux 的高可用性解决方案,可以提供可靠的负载均衡和故障转移功能。Keepalived 的主要功能包括: * Virtual IP 地址管理 * 服务器健康检查 * 负载均衡 * 故障转移 Nginx 简介 Nginx 是一...
在构建高性能、高可用性的Web服务时,使用Nginx+keepalived+tomcat的组合可以实现强大的负载均衡和故障转移功能。这个方案的核心思想是利用Nginx作为前端反向代理服务器,通过keepalived来确保服务的高可用性,并将...
* 负载均衡:使用 Nginx 可以实现负载均衡,提高系统的性能和可扩展性。 * 灵活性:使用 Keepalived 和 Nginx 可以轻松地实现主备切换,灵活地应对不同场景。 因此,本文的架构和配置可以应用于各种高可用性和负载...
"高可用之Keepalived+Nginx实现高可用Web负载均衡" Keepsalived 和 Nginx 是实现高可用 Web 负载均衡的关键技术。Keepalived 是一种高性能的服务器高可用或热备解决方案,可以防止服务器单点故障的发生,而 Nginx ...
Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...
这样的脚本通常会包含以下步骤:安装Keepalived和Nginx,配置Keepalived的VRRP参数以实现主备切换,配置Nginx的反向代理和负载均衡规则,以及进行必要的安全设置和测试。 在提供的压缩包文件"keepalived_nginx"中,...
在构建高性能、高可用性的Web服务环境中,Java开发和运行环境、数据库系统、负载均衡以及缓存服务都是不可或缺的关键组件。这个压缩包包含了"keepalived+nginx+tomcat+redis+mysql"所需的基础组件,特别是Java ...
在这个方案中,LVS作为负载均衡器,KeepAlived作为健康检查器,Nginx作为Web服务器。 五、结论 本文提供了一个完整的高可用实现方案,通过LVS、KeepAlived和Nginx的结合,可以实现一个高性能、高可用的Web服务器...
Keepalived+Nginx 实现高可用 Web 负载均衡 Keepalived 是一种高性能的服务器高可用或热备解决方案,可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议...
使用Keepalived+nginx负载均衡高可用,解决单台Nginx故障,无法提供服务。
CentOS系统安装配置Nginx+keepalived实现负载均衡 本文将详细介绍CentOS系统安装配置Nginx+keepalived实现负载均衡的步骤和配置过程。通过本文,读者将了解如何使用Nginx和keepalived来实现高可靠性的负载均衡架构...
在高并发场景中,仅靠单台 Nginx 可能不足以应对,这时可以结合 keepalived 实现高可用和负载均衡。Keepalived 提供 VRRP 协议来监控 Nginx 主备节点状态,当主节点故障时,流量会自动切换到备用节点,确保服务的...
### 分布式架构高可用架构-Keepalived+Nginx实现高可用Web负载均衡 #### 一、场景需求 在互联网应用中,随着用户数量的增长和技术的发展,单一服务器已难以满足日益增长的服务需求。分布式系统架构应运而生于解决...
在这个场景中,keepalived和nginx结合使用,可以实现Web服务的双机热备和负载均衡。 **虚拟IP切换** 在Keepalived的配置中,通常会设置一个虚拟IP地址(VIP),这个地址对外公开,用户访问的是这个IP,而不是具体...
本文主要讲述了如何构建一个高可用集群项目,使用 LVS、Keepalived、Nginx 和 Tomcat 实现高可用性和负载均衡。该项目的架构中,Keepalived 负责对 LVS 架构中的调度器进行热备份,至少包含两台热备的负载调度器,两...
### Keepalived+Nginx 实现 Web 负载均衡 #### 一、场景需求与背景 在现代互联网架构中,随着用户量级的增长及业务复杂度的提升,单一服务器往往难以满足高并发访问的需求,同时也面临着单点故障的风险。为了解决...