Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

有一台服务器运行着Ngin最近突然有一次崩溃,导致使用方当天无法访问网页端,然后我不得不登录服务器,检查各项服务,发现Nginx崩溃了,于是重启Nginx,问题解决。

后来为了防止Nginx再发生这种情况给运维带来的运维成本,于是写了一个脚本,放到Linux计划任务里进行监听管理Nginx服务,一旦崩溃,那么就自动重启Nginx服务。当然该脚本适合各种后台服务,可以简单修改,适应各种后台服务程序。

首先编写sHell脚本service-restart.sh

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,请注明来意。
标签: