Nginx+keepalived实现高可用的负载均衡

时间:2022-12-25 09:30:58

Keepalived是Linux下面实现VRRP 备份路由的高可靠性运行件。基于Keepalived设计的服务模式能够真正做到主服务器和备份服务器故障时IP瞬间无缝交接。二者结合,可以构架出比较稳定的软件lb方案。

环境:虚拟机1 192.168.78.110
虚拟机2 192.168.78.111
step1 :两台虚拟机上安装nginx
参考:http://blog.csdn.net/qq_32071077/article/details/64180925
step2:两台虚拟机上安装keepalived
yum install -y keepalived
step3:修改配置文件:
要修改的参数:vi /etc/keepalived/keepalived.conf
router_id 、interface 、priority 、track_script
其中interface的设置可以使用 ip addr 查看
vi check_nginx.sh

!/bin/bash

counter= (psCnginxnoheading|wcl)if[ {counter}” = “0” ]; then
exit 1
else
exit 0
fi
给脚本文件添加执行权限
chmod +x check_nginx.sh
拷贝配置文件(192.168.2.111)

拷贝配置文件
先在192.168.2.111安装Keepalived,
scp keepalived.conf root@192.168.2.111:/etc/keepalived/
scp check_nginx.sh root@192.168.2.111:/etc/keepalived/

修改配置文件
vi keepalived.conf
router_id nginx_server_1 –> router_id nginx_server_2
state MASTER –> state BACKUP
priority 101 –> priority 100

启动Nginx
/opt/soft/nginx-1.10.0/sbin/nginx
先后在主、从服务器上启动keepalived: /etc/init.d/keepalived start
在主服务器上查看是否已经绑定了虚拟IP: ip addr
停止主服务器上的keepalived: /etc/init.d/keepalived stop 然后在从服务器上查看是否已经绑定了虚拟IP:
启动主服务器上的keepalived,看看主服务器能否重新接管虚拟IP
通过ip addr 查看

结论:在主从服务器都启动的情况下,主服务器绑定虚拟ip,
当主服务器宕掉之后,自动切换至从服务器监控虚拟ip。
当主服务器再次启动,会再次切换至主服务器,实现了nginx的高可用。、
主服务器情况:
Nginx+keepalived实现高可用的负载均衡
从服务器情况:
Nginx+keepalived实现高可用的负载均衡