码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx做反向代理总是被系统kill

时间:2016-07-12 13:48:22      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

公司使用Nginx做反向代理,以前都挺正常的,最近不知怎么回事总是无端被系统kill,而在nginx错误日志中也没有信息输出。

网上查了很多资料,也没什么靠谱的回答,唯一觉得有点关联的就是linux OOM Killer了,这篇文章感觉有点关系:理解和配置 Linux 下的 OOM Killer也给出了相应的解决办法。

 

但我还是不太放心,万一最后还是被kill了怎么办,想来想去,最后还是决定写一个脚本来进行监控。

脚本功能:

每隔5秒检查一次,查看Nginx进程是否存在,如果不存在,就重新启动Ngin服务。

 1 #!/bin/bash
 2 #
 3 # filename: check.sh
 4 # 功能:监控 nginx 是否正常
 5 #
 6 # nginx重启的脚本
 7 V_NGINX="/usr/local/nginx/sbin/nginx"
 8 # 日志文件
 9 V_LOG="/logs/check_nginx.log"
10 
11 # 函数定义:重启nginx
12 function restart_nginx(){
13     echo "----- `date` -----" >> $V_LOG
14     echo "--------nginx process----------" >> $V_LOG
15     echo "`ps aux |grep ‘nginx‘`" >> $V_LOG
16     echo "--------start nginx----------" >> $V_LOG
17     $V_NGINX  >> $V_LOG
18 }
19 
20 # 循环执行,不采用 crontab ,因为 crontab 最小单位是分钟,时间太长了
21 while :
22 do
23     # 检测 nginx 进程是否存在
24     V_NGINX_NUM=`ps axu |grep nginx |grep -v grep |wc -l`
25     if [ $V_NGINX_NUM -lt 1 ];then
26         restart_nginx  #调用重启函数
27         continue
28     fi
29     # 休眠
30     sleep 5
31 done

 


 

参考资料:

http://zhengdl126.iteye.com/blog/1456417

Nginx做反向代理总是被系统kill

标签:

原文地址:http://www.cnblogs.com/MacoLee/p/5662989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!