设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux系统中Nginx守护进程自动启动nginx

发布时间:2022-06-21 13:37 所属栏目:118 来源:互联网
导读:守护进程其实就是一个监控功能了,我们可以利用监控功能来监控一指定应用有没有启动了,如果没有启动我们就把它启动了,下面来看一个Nginx守护进程的操作方法. 最近VPS的Nginx不知道为啥,会无缘无故关掉,可能是负载过高被母鸡Kill了,但是为了保持网站在线,写了
  守护进程其实就是一个监控功能了,我们可以利用监控功能来监控一指定应用有没有启动了,如果没有启动我们就把它启动了,下面来看一个Nginx守护进程的操作方法.
 
  最近VPS的Nginx不知道为啥,会无缘无故关掉,可能是负载过高被母鸡Kill了,但是为了保持网站在线,写了个守护进程,代码如下:
 
  aa=`pgrep -f nginx | wc -l`
  if [ "$aa" = 0 ]
  then
  /usr/local/nginx/sbin/nginx
  /usr/local/php/sbin/php-fpm start
  else
  echo "the program is running"
  fi
  把以上脚本写成一个.sh文件,然后用Crontab设置自动执行,发现Nginx不在进程中,自动启动Nginx和PHP-FPM,否则输出The Program is Running.
 
  上面是一个针对Linux环境下的Nginx守护进程,现在来个增强版的.同学们看着改来用吧,代码如下:
 
  ipv4=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
  
  #把xxx@163.com改成自己的邮箱
  
  EMAIL_TO=xxx@163.com
  #可以把nginx改为其他要守护的进程名字
  nd=`pgrep -f nginx | wc -l`
  if [ "$nd" = 0 ]
  then
  echo -e "Server IP is : $ipv4 " | mail -s "The nginx program is Dead" $EMAIL_TO
  /usr/local/nginx/sbin/nginx #当被守护进程不存在后,自动启动的进程。可修改
  /usr/local/php/sbin/php-fpm start #当被守护进程不存在后,自动启动的进程。可修改
  else
  echo "the program is running"
  fi  --phpfensi.com
  mail命令需要mailx这个程序,用下面这条命令安装,代码如下:
 
  yum -y install mailx
 
  跟上个版本一样把以上脚本写成一个.sh文件,然后用Crontab设置自动执行,这个版本是增强了邮件通知功能,发现Nginx不在进程中,自动启动Nginx和PHP-FPM并通过邮件通知管理检查,否则输出The Program is Running.
 
  这样还会有一封邮件发送给你,哈哈是不是更智能了呀,比起windows系统是要智能了许多了.

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读