架构师成长记_第四周_18_Keepalived 配置Nginx自动重启, 实现7 * 24小时不间断服务
Keepalived 配置Nginx自动重启, 实现7 * 24小时不间断服务1. 在 128 虚拟机中配置如下脚本进入keepalived配置文件目录cd /etc/keepalived/该目录下创建文件 check_nginx_alive_or_not.sh, 并且写入如下脚本vim check_nginx_alive_or_not.sh#!/bin/bashA=`ps -C nginx --
·
文章目录
Keepalived 配置Nginx自动重启, 实现7 * 24小时不间断服务
1. 在 128 虚拟机中配置如下脚本
-
进入keepalived配置文件目录
cd /etc/keepalived/
-
该目录下创建文件 check_nginx_alive_or_not.sh, 并且写入如下脚本
vim 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
# 等待一小会再次检查nginx, 如果没用启动成功, 则停止keepalived, 使其启动备用机
sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
- 保存退出后, 进行配置文件的赋权限
chmod +x check_nginx_alive_or_not.sh
- 启动改脚本文件
./check_nginx_alive_or_not.sh
2. 在128服务器的keepalived配置文件中进行定时监听该脚本文件
- 进入keepalived.conf 文件
vim keepalived.conf
- 添加如下监听配置
vrrp_script check_nginx_alive {
script "/etc/keepalived/check_nginx_alive_or_not.sh"
interval 2 # 每隔2秒进行运行上一行的脚本文件
weight 10 # 如果脚本运行成功的话, 则该服务器的权重 +10
# weight -10 # 如果脚本运行失败的话, 则该服务器的权重 -10
}
- 同样在该配置文件中的实例服务器调用上面的监听配置
track_script {
check_nginx_alive # 追踪上面配置的 nginx 脚本
}
4. 保存退出
重启服务
systemctl restart keepalived.service
测试:
- 关闭ngixn服务
- 进行浏览器访问
如上即实现Nginx自动重启
更多推荐
已为社区贡献2条内容
所有评论(0)