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

nginx+tomcat实现了负载均衡后,可以分别在两台服务器上安装keepalived来监控nginx进程,实现服务的高可用性。具体的实现方式是,部署好两套负载均衡的环境,使用keepalived将两套环境设置为主备,并且虚拟一个ip地址作为客户端入口,如果业务过程中主环境的nginx代理服务挂掉,keepalived会将虚拟ip切换至备服务器上继续提供业务支持。

环境信息如下:
服务器1:10.10.19.74(主)
服务器2:10.10.19.73(备)
虚拟ip:10.10.19.68

第一步:安装keepalived(本文使用rpm包安装,两台服务器都要安装)

keepalived+nginx实现高可用的负载均衡_第1张图片
安装keepalived.png

第二步:启动keepalived(rpm安装后启动命令在/usr/sbin/keepalived)

keepalived+nginx实现高可用的负载均衡_第2张图片
启动keepalived.png

第三步:检查keepalived配置文件(默认配置文件在/etc/keepalived/keepalived.conf)

keepalived+nginx实现高可用的负载均衡_第3张图片
keepalived配置文件说明.png

第四步:配置主服务器上的keepalive配置(其他需要的配置删除,使用以下配置即可)

keepalived+nginx实现高可用的负载均衡_第4张图片
keepalived主服务器配置.png

第五步:配置备用服务器上的keepalived配置

keepalived+nginx实现高可用的负载均衡_第5张图片
备用服务器上的配置.png

第六步:创建监控脚本,命名和配置文件里填写的一致,两边服务都要有,并且需要可执行权限

keepalived+nginx实现高可用的负载均衡_第6张图片
监控脚本内容.png

监控脚本的目的是判断,如果本机没有nginx进程,尝试重启下,如果3秒之后没有启动成功的话,杀掉本机keepalived进程。此时,备用服务器上的keepalived会继续提供服务,虚拟ip会在备用服务上创建。

keepalived+nginx实现高可用的负载均衡_第7张图片
监控脚本需要有可执行的权限.png

第七步:重启两边的keepalived服务,检查主从切换是否功能正常

重启keepalived命令:
killall keepalived
/usr/sbin/keepalived
keepalived+nginx实现高可用的负载均衡_第8张图片
主服务器上正常运行.png
keepalived+nginx实现高可用的负载均衡_第9张图片
主机上nginx挂掉效果.png
keepalived+nginx实现高可用的负载均衡_第10张图片
备用服务器继续提供服务.png

如果把主服务器nginx和keepalive启动起来,备用服务器会继续让主服务器提供服务,这样的操作会来回切换以实现主备的高可用性,不至于让服务器完全瘫痪。

你可能感兴趣的:(keepalived+nginx实现高可用的负载均衡)