priority 100 #优先级(优先级大者为主)
mcast_src_ip 192.168.10.2 #广播地址(本地IP)
authentication { #主从认证配置
auth_type PASS
auth_pass 1q2w3e4r
}
track_script { #启用监控脚本
check_run
}
virtual_ipaddress { #虚拟IP配置
192.168.10.100/24 dev eth0
}
virtual_routes { #虚拟路由配置
0.0.0.0/0.0.0.0 via192.168.10.100 dev eth0
}
}
3. Nginx监控脚本配置
监控脚本主要通过访问本地的80端口(nginx.conf里配置的监控url),去监控Nginx的服务状态,如果没有问题返回0,如果有问题返回1
#!/bin/bash
#This script is used by keepalived for checking nginx running status
CHECK_TIME=2
check()
{
curl -m 2 >/dev/null 2>&1
return $?
}
while [ $CHECK_TIME -ne 0 ]
do
let "CHECK_TIME -= 1"
check
NGINX_OK=$?
if [ $NGINX_OK -eq 0 ];then
exit 0
fi
if [ $NGINX_OK -ne 1 ] && [ $CHECK_TIME -eq 0 ]
then
exit 1
fi
done
4. 编辑nginx配置文件,加入如下内容
location /status {
stub_status on;
access_log off;
以上只是主Keepalived的配置文件,可以将配置文件scp到从的上面,然后修改标注状态为MASTER,优先级小于100即可。
5.测试Nginx可以正常启动,访问本地的可以正常提供服务,模拟宕机,另外一台接管。