Nginx-S上面也要配置跟Nginx-M上面同样的Nginx代理服务配置node
Nginx-M和Nginx-S的keepalived服务配置:nginx
配置文件模板:bash
! Configuration File for keepalived服务器
global_defs {网络
notification_email {ide
}代理
notification_email_from ops@wangshibo.cnrest
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代理服务器宕机的状况下,另外一台继续工做