Keepalived配置Nginx自动重启

本文介绍了如何通过Keepalived和Nginx搭建高可用服务器集群,当主节点Nginx出现问题时,自动重启Nginx服务,确保服务不中断。通过创建Nginx检测脚本并配置Keepalived,实现对Nginx状态的监控,一旦检测到Nginx未运行,将尝试重启并切换到备用节点,保证系统的稳定性和可靠性。
摘要由CSDN通过智能技术生成

在两台Nginx服务器构建好Keepalived高可用之后,可以保证主节点宕机之后,启动备用节点,但是如果主节点没有宕机,但是主节点上的Nginx却停止工作了,那么这时候既不会启动备用节点,主节点上的Nginx又不能工作,这样还是会出现单节点的问题,所以需要在Keepalived中配置Nginx重启脚本,只要服务器没有宕机但是Nginx又不能工作的时候会重启Nginx(如果是其他的服务也是同样的道理)。

1、增加Nginx重启检测脚本

vim /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
	# 等待一小会再次检查nginx,如果没有启动成功,则停止keepalived,使其启动备用机
	sleep 3
	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

2、配置keepalived监听nginx脚本

在Keepalived的配置文件中添加配置:

vrrp_script check_nginx_alive {
	script "/etc/keepalived/check_nginx_alive_or_not.sh"
	interval 2 # 每隔两秒运行上一行脚本
	weight 10 # 如果脚本运行成功,则升级Keepalived权重+10
	# weight -10 # 如果脚本运行失败,则升级Keepalived权重-10
	#作者理解这里的意思应该是如果脚本运行成功则证明此台机器Keepalived运行正常,可升级权重继续作为主用机
	#运行失败则证明此台机器Keepalived运行异常,应降低权重,让其它机器成为主用机(如果有懂得请打在评论里)
}

3、在 vrrp_instance 中新增监控的脚本

track_script {
	check_nginx_alive # 追踪 nginx 脚本
}

4、重启Keepalived使得配置文件生效

systemctl restart keepalived
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值