1、第一台keepAlived配置
vrrp_script chk_nginx {
script "/zjl/program/nginx/conf/checkNginxAlived.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.244.200
}
track_script {
chk_nginx
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id 52
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.244.201
}
track_script {
chk_nginx
}
}
2、第二台keepAlived配置
vrrp_script chk_nginx {
script "/zjl/program/nginx/conf/checkNginxAlived.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.244.200
}
track_script {
chk_nginx
}
}
vrrp_instance VI_2 {
state MASTER
interface eth0
virtual_router_id 52
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.244.201
}
track_script {
chk_nginx
}
}
3、监测脚本
#!/bin/bash
psnginx=`ps -C nginx --no-heading|wc -l`
if [ $psnginx == 0 ] ; then
echo "nginx服务已关闭,尝试重新启动..."
/zjl/commond/nginxbegin-start.sh
sleep 3
if [ `ps -C nginx --no-heading|wc -l` -eq 0 ] ; then
echo "nginx尝试启动失败关闭keepAlived"
killall keepalived
else
echo "nginx重新启动成功"
fi
else
echo "nginx服务正常..."
fi