keepalived检测nginx脚本
当主节点Nginx挂掉,keepalived仍然存活时,此时无法访问主节点,因此需要检测Nginx状态,配置自动重启。
一、新增Nginx状态监测与重启脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@server01 ~]# cat /etc/keepalived/nginx_check.sh #!/bin/bash #Author:Mr.Ding #Mail:1490176741@qq.com #Created Time:2023-06-18 18:40:37 #Name:/etc/keepalived/nginx_check.sh #Description: #Ver: num=`ps -C nginx --no-header | wc -l` if [ $num -eq 0 ];then systemctl start nginx sleep 1 if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then systemctl stop keepalived fi fi |
给脚本添加权限
1 | chmod +x /etc/keepalived/nginx_check.sh |
二、配置keepalived核心文件,定时执行脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | [root@server01 ~]# cat /etc/keepalived/keepalived.conf ! 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 1270.0.01 smtp_connect_timeout 30 router_id lb02 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } # 引入脚本 vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" interval 1 # 设置执行间隔 weight 10 # 运行成功则升级权重+10,否则-10 } vrrp_instance VI_1 { state MASTER interface ens34 virtual_router_id 55 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.200.24/24 dev ens34 lable ens34:1 } # 在实例中追踪nginx状态 track_script { chk_nginx } } |
重启keepalived服务,使配置生效。
1 | systemctl restart keepalived.service |
******************************我也想难过的时候到海边走走,可是我的城市没有海。******************************
分类:
Keepalived
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY