Nginx+Keepalived高可用负载均衡双机热备(3)

!为什么这里要 指定监控的脚本呢?script "/tmp/dd.sh" !! 监控的脚本非常的关键!!!

keepalived本身的不足,只有服务器当keepalived  down了的时候,BACKUP才会去接管,但是当nginx死了之后,keepalived是不知道nginx死了,所以写一个脚本让keepalived去检测nginx的存活状态然后去停掉自己的主keepalived!这样BACKUP才会去接管!

cat /tmp/dd.sh

#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ]
 then
        /usr/local/nginx/sbin/nginx
        sleep 1
        if [ `ps -C nginx --no-header |wc -l` -eq 0 ]
          then
                killall keepalived
        fi
fi

五,监控一下Nginx Mastaer 的日志

Nginx+Keepalived高可用负载均衡双机热备

监控一下Nginx Backup 正常,就不贴出来了。

六。测试

现在停掉Nginx Mastaer上的nginx...Nginx Backup脚本检测到nginx死了,就接管了Nginx Mastaer。我们来看一看日志~ tail -f /var/log/messages

Nginx+Keepalived高可用负载均衡双机热备

很显然可以看出backup已经变成master!!

现在再启动原来master的nginx,再查看backup的日志

Nginx+Keepalived高可用负载均衡双机热备

很显然可以看出backup 自动叫交出了老大的权利,重现变为backup了!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/0138589387b78f48d69d97893a5b2b98.html