linux系统中Nginx守护进程(自动启动nginx)
2019/10/10/17:46:55 阅读:2730 来源:谷歌SEO算法 标签:
云计算
守护进程其实就是一个监控功能了,我们可以利用监控功能来监控一指定应用有没有启动了,如果没有启动我们就把它启动了,下面来看一个Nginx守护进程的操作方法.
最近VPS的Nginx不知道为啥,会无缘无故关掉,可能是负载过高被母鸡Kill了,但是为了保持网站在线,写了个守护进程,代码如下:
- aa=`pgrep-fnginx|wc-l`
- if["$aa"=0]
- then
- /usr/local/nginx/sbin/nginx
- /usr/local/php/sbin/php-fpmstart
- else
- echo"theprogramisrunning"
- fi
把以上脚本写成一个.sh文件,然后用Crontab设置自动执行,发现Nginx不在进程中,自动启动Nginx和PHP-FPM,否则输出The Program is Running.
上面是一个针对Linux环境下的Nginx守护进程,现在来个增强版的.同学们看着改来用吧,代码如下:
- ipv4=`ifconfig-a|grepinet|grep-v127.0.0.1|grep-vinet6|awk'{print$2}'|tr-d"addr:"`
- #把xxx@163.com改成自己的邮箱
- EMAIL_TO=xxx@163.com
- #可以把nginx改为其他要守护的进程名字
- nd=`pgrep-fnginx|wc-l`
- if["$nd"=0]
- then
- echo-e"ServerIPis:$ipv4"|mail-s"ThenginxprogramisDead"$EMAIL_TO
- /usr/local/nginx/sbin/nginx#当被守护进程不存在后,自动启动的进程。可修改
- /usr/local/php/sbin/php-fpmstart#当被守护进程不存在后,自动启动的进程。可修改
- else
- echo"theprogramisrunning"
- fi--phpfensi.com
mail命令需要mailx这个程序,用下面这条命令安装,代码如下:
yum -y install mailx
跟上个版本一样把以上脚本写成一个.sh文件,然后用Crontab设置自动执行,这个版本是增强了邮件通知功能,发现Nginx不在进程中,自动启动Nginx和PHP-FPM并通过邮件通知管理检查,否则输出The Program is Running.
这样还会有一封邮件发送给你,哈哈是不是更智能了呀,比起windows系统是要智能了许多了.
热门评论