多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ###实现功能 针对Nginx+Keepalived,编写nginx的运行监控脚本nginx_pid.sh,放置在后台一直监控nginx的进程;如果进程消失,尝试重启nginx,若重启失败,立即停掉本机的keepalived服务,让另一台负载均衡服务器接手。 ###脚本 #!/bin/bash while: do nginxpid=`ps -C nginx --no-header | wc -l` if [ $nginxpid -eq 0 ];then ulimit -SHn 65535 #防止因并发数量过大,导致linux报错 service nginx restart #启动方式根据实际情况而定 sleep 5 nginxpid=`ps -C nginx --no-header | wc -l` if [ $nginxpid -eq 0 ];then service keepalived stop #停止keepalived按照实际情况而定 fi fi sleep 5 done ###脚本启动 启动的时候使用nohup /bin/bash 脚本全路径 & (在linux中建议养成使用全路径的习惯) 例如 nohup /bin/bash /app/shell/nginx_pid.sh & 如果不使用nohup以及&关闭终端的时候,脚本会自动的关闭。