当前位置: 代码迷 >> 综合 >> Keepalived配置Nginx自动重启
  详细解决方案

Keepalived配置Nginx自动重启

热度:103   发布时间:2023-10-17 09:35:09.0

1. 增加nginx 检查脚本

vi /etc/keepalived/check_nginx_alive_or_not.sh

脚本内容如下:

#!/bin/bash
A=`ps -C nginx --no-header | wc -l`
# 判断nginx是否宕机,如果宕机尝试重新启动
if [ $A -eq 0 ];then/usr/local/nginx/sbin/nginx# 等待3秒检查nginx 如果没有启动成功 则停止keepalived 启动备用机sleep 3sif [ `ps -C nginx --no-header | wc -l` -eq 0 ];thenkillall keepalivedfi
fi

增加执行权限:

# 增加运行权限
chmod +x /etc/keepalived/check_nginx_alive_or_not.sh

2. 配置keepalived监听nginx脚本

vrrp_script check_nginx_alive {script "/etc/keepalived/check_nginx_alive_or_not.sh"interval 2 #每隔2秒运行一次weight 10 # 运行成功 权重加10
}

3. 在vrrp_ instance 中新增监控脚本

track_script {check_nginx_alive # 添加nginx脚本
}

最后脚本预览:

global_defs {router_id keep_101
}vrrp_script check_nginx_alive {script "/etc/keepalived/check_nginx_alive_or_not.sh"interval 2 #每隔2秒运行一次weight 10 # 运行成功 权重加10
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {check_nginx_alive # 添加nginx脚本}virtual_ipaddress {192.168.235.150}
}

4.重启Keepalived

service keepalived restart

完成上述步骤后,当Nginx宕机后可实现自动重启,实现24小时提供服务。

  相关解决方案