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(rpm安装后启动命令在/usr/sbin/keepalived)
第三步:检查keepalived配置文件(默认配置文件在/etc/keepalived/keepalived.conf)
第四步:配置主服务器上的keepalive配置(其他需要的配置删除,使用以下配置即可)
第五步:配置备用服务器上的keepalived配置
第六步:创建监控脚本,命名和配置文件里填写的一致,两边服务都要有,并且需要可执行权限
监控脚本的目的是判断,如果本机没有nginx进程,尝试重启下,如果3秒之后没有启动成功的话,杀掉本机keepalived进程。此时,备用服务器上的keepalived会继续提供服务,虚拟ip会在备用服务上创建。
第七步:重启两边的keepalived服务,检查主从切换是否功能正常
重启keepalived命令: killall keepalived /usr/sbin/keepalived
主服务器上正常运行.png
主机上nginx挂掉效果.png
备用服务器继续提供服务.png
如果把主服务器nginx和keepalive启动起来,备用服务器会继续让主服务器提供服务,这样的操作会来回切换以实现主备的高可用性,不至于让服务器完全瘫痪。
链接:https://www.jianshu.com/p/3d071f6a785f
keepalived+nginx实现高可用的负载均衡
于 2022-03-17 16:06:55 首次发布