Keepalived配置Nginx自动重启
-
编写Nginx重启检测脚本
vim /etc/keepalived/check_nginx_alive_or_not.sh
#!/bin/bash #判断nginx服务是否启动,如果不存在,调用nginx启用命令,并停止2秒,若#启动失败,杀掉keepalived A=`ps -C nginx --no-header |wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx sleep 2 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then killall keepalived fi fi
-
配置脚本执行权限
chmod +x /etc/keepalived/check_nginx_alive_or_not.sh
-
配置keepalived.conf监听nginx脚本
vrrp_script check_nginx_alive { # 脚本位置 script "/etc/keepalived/check_nginx_alive_or_not.sh" # 每隔两秒运行上一行脚本 interval 2 # 如果脚本执行结果为0,并且weight配置的值大于0,则优先级相应的增加 #如果脚本执行结果非0,并且weight配置的值小于0,则优先级相应的减少 weight 10 }
-
在
vrrp_instance
中新增监控的脚本track_script { # 追踪 nginx 脚本 check_nginx_alive }
-
重启Keepalived让配置文件生效
systemctl restart keepalived