用户名:
密 码: 记住
您当前的位置:首页 > 站长百科 > 服务器技术

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

时间:2015-01-23  来源:西部数据  作者:西部数据

守护进程其实就是一个监控功能了,我们可以利用监控功能来监控一指定应用有没有启动了,如果没有启动我们就把它启动了,下面来看一个Nginx守护进程的操作方法.

最近vps的Nginx不知道为啥,会无缘无故关掉,可能是负载过高被母鸡Kill了,但是为了保持网站在线,写了个守护进程,代码如下:

  1. aa=`pgrep -f nginx | wc -l` 
  2. if [ "$aa" = 0 ] 
  3. then 
  4. /usr/local/nginx/sbin/nginx 
  5. /usr/local/php/sbin/php-fpm start 
  6. else 
  7. echo "the program is running" 
  8. fi 

把以上脚本写成一个.sh文件,然后用Crontab设置自动执行,发现Nginx不在进程中,自动启动Nginx和PHP-FPM,否则输出The Program is Running.

上面是一个针对Linux环境下的Nginx守护进程,现在来个增强版的.同学们看着改来用吧,代码如下:

  1. ipv4=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
  2.  
  3. #把xxx@163.com改成自己的邮箱 
  4.  
  5. EMAIL_TO=xxx@163.com 
  6. #可以把nginx改为其他要守护的进程名字 
  7. nd=`pgrep -f nginx | wc -l` 
  8. if [ "$nd" = 0 ] 
  9. then 
  10. echo -e "Server IP is : $ipv4 " | mail -s "The nginx program is Dead" $EMAIL_TO 
  11. /usr/local/nginx/sbin/nginx #当被守护进程不存在后,自动启动的进程。可修改 
  12. /usr/local/php/sbin/php-fpm start #当被守护进程不存在后,自动启动的进程。可修改 
  13. else 
  14. echo "the program is running" 
  15. fi  --phpfensi.com 

mail命令需要mailx这个程序,用下面这条命令安装,代码如下:

yum -y install mailx

跟上个版本一样把以上脚本写成一个.sh文件,然后用Crontab设置自动执行,这个版本是增强了邮件通知功能,发现Nginx不在进程中,自动启动Nginx和PHP-FPM并通过邮件通知管理检查,否则输出The Program is Running.

这样还会有一封邮件发送给你,哈哈是不是更智能了呀,比起windows系统是要智能了许多了.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门