使用keepalived 作为nginx负载均衡,nginx服务断掉后,keepalived 没有停掉,检测脚本不执行什么原因?
keepalived配置:
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
#smtp_server 192.168.200.1
#smtp_connect_timeout 30
router_id $HOSTNAME
#vrrp_skip_check_adv_addr
#vrrp_strict
#vrrp_garp_interval 0
#vrrp_gna_interval 0
}
#check nginx service
vrrp_script chk_nginx_pid {
script "/usr/local/keepalived/chk_nginx.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
#state MASTER
state BACKUP
nopreempt
interface ens160
virtual_router_id 51
mcast_src_ip 192.168.14.157
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass CARMANAGER
}
virtual_ipaddress {
192.168.14.161
}
unicast_src_ip 192.168.14.157
unicast_peer {
192.168.14.158
}
track_script {
chk_nginx_pid
}
}
检测脚本:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
先确定一点 你的这个 chk_nginx.sh 里 会先尝试重启 nginx ,如果重启失败了.才会关闭 keepalived,让 keepalived 切换. 你测试过程中,这个重启 nginx 会成功吗?
脚本的权限检查一下。