自定义监控lnmp的状态
自定义监控lnmp的状态
Sandy使用LNmp有一段时间了,可是在流量大的时候,有时会莫名其妙的出现Nginx 502 Bad Gateway,不是php-fpm死掉了,就是nginx死掉了,网站多的时候根本没空每天一个个检查,往往是网站dwon了1、2天后才发现,流量损失了不少。 Sandy就给出一个解决此类错误的方法,自动检测网站是否正常,不正常的话就自动重启LNmp。 首先,在网站根目录下建立一个 php文件 test200.php,内容随便写几个字,如:
1 | <?php |
然后建立一个脚本
1 | vi test200_monitor.sh |
脚本里的内容如下:
1 | wget http://blog.e9china.net/test200.php --spider |
这个脚本的意思就是监控 http://blog.e9china.net/test200.php 这个网页,如果返回的不是 200 状态码,就自动重启 PHP。其中命令行 /usr/local/php/sbin/php-fpm restart 可以换成其他命令,如 /root/lnmp restart 等。邮箱换成你自己的,每次发生错误时,会给你发送邮件。
【补充 vi vim用法】:i 进入编辑状态; :wq 保存退出; :q! 不保存退出。 然后是设定权限:
1 | chmod 777 /root/test200_monitor.sh |
运行定时程序:
1 | crontab -e |
输入以下内容每隔5分钟检测一次
1 | */5 * * * * /root/test200_monitor.sh |
好了,大功告成。你可以放心的工作去了,lnmp不会再出现502 Bad Gateway的错误了。 如果你希望直接在php脚本里运行命令行也可以,网站根目录下建立一个php文件 monitor.php ,里面内容如下:
1 | <? |
然后同上面一样,用 crontab 添加一行定时运行命令,在线监测即可。参考:
http://bbs.vpser.net/thread-1913-1-1.html
