大佬教程收集整理的这篇文章主要介绍了Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有一台服务器运行着Ngin最近突然有一次崩溃,导致使用方当天无法访问网页端,然后我不得不登录服务器,检查各项服务,发现Nginx崩溃了,于是重启Nginx,问题解决。
后来为了防止Nginx再发生这种情况给运维带来的运维成本,于是写了一个脚本,放到Linux计划任务里进行监听管理Nginx服务,一旦崩溃,那么就自动重启Nginx服务。当然该脚本适合各种后台服务,可以简单修改,适应各种后台服务程序。
PowerSHell
#! /bin/bash
# service-restart.sh
# description: 这个程序用来监控服务器服务软件,以程序挂掉后重启 Author is xiaogg
# ! /bin/sh
phpfpm_procnum=`ps -ef|grep "php-fpm"|grep -v grep|wc -l`
Nginx_procnum=`ps -ef|grep "Nginx"|grep -v grep|wc -l`
MysqL_procnum=`ps -ef|grep "MysqLd"|grep -v grep|wc -l`
redis_procnum=`ps -ef|grep "redis"|grep -v grep|wc -l`
if [ $phpfpm_procnum -eq 0 ]
then
echo "start php-fpm..."
/etc/init.d/php-fpm start >> /var/log/listen_service_start.log 2>&1
elif [ $Nginx_procnum -eq 0 ]
then
echo "start Nginx..."
/usr/local/Nginx/sbin/Nginx >> /var/log/listen_service_start.log 2>&1
then
echo "start Mysql..."
systemctl start MysqLd >> /var/log/listen_service_start.log 2>&1
elif [ $redis_procnum -eq 0 ]
then
echo "start redis..."
systemctl start redis >> /var/log/listen_service_start.log 2>&1
else
#echo "no cmd"
exit
fi
加入Linux crontab自动任务里即可:
PowerSHell
crontab -e
*/1 * * * * sh /root/service-restart.sh
第一行是编辑计划任务
第二行添进去保存就行了可以通过crontab -l查看是否添加成功
第二行添加的是每分钟执行
转自:https://blog.bitefu.net/post/154.html
以上是大佬教程为你收集整理的Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本全部内容,希望文章能够帮你解决Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。