Nginx-S上面也要配置跟Nginx-M上面一样的Nginx代理服务配置
Nginx-M和Nginx-S的keepalived服务配置:
配置文件模板:
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id master-node
}
vrrp_script chk_http_port {
script "/opt/chk_nginx.sh"
interval 2
weight -5
fall 2
rise 1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
mcast_src_ip 192.168.115.173
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.115.100
}
track_script {
chk_http_port
}
}
此监控脚本Nginx-S服务器上面也需要:
脚本模板:
#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
service nginx restart
sleep 2
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
service keepalived stop
fi
fi
WEB服务器上面只需要搭建Apache服务即可,不需要做其他的网络设置
将Nginx-M和Nginx-S服务器上面的keepalived和Nginx服务开启,再将/opt/下面的监控脚本执行,之后停掉任何一台Nginx代理服务器查看效果验证是否一台Nginx代理服务器宕机的情况下,另一台继续工作