飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

lnmp出现502 Bad Gateway自动解决方法

Author:flymorn Source:flymorn
Categories:网络技术 PostTime:2011-9-18 0:04:55
正 文:
   使用LNmp有一段时间了,可是在流量大的时候,有时会莫名其妙的出现Nginx 502 Bad Gateway,不是php-fpm死掉了,就是nginx死掉了,网站多的时候根本没空每天一个个检查,往往是网站dwon了1、2天后才发现,流量损失了不少。

   飘易就给出一个解决此类错误的方法,自动检测网站是否正常,不正常的话就自动重启LNmp。

   首先,在网站根目录下建立一个 php文件 test200.php,内容随便写几个字,如:
<?php
echo "200_OK";
?>

   然后建立一个脚本 vi test200_monitor.sh 
   脚本里的内容如下:
wget http://www.piaoyi.org/test200.php  --spider
c_monitor=$?
if [ $c_monitor = "1" ];
then
echo "# Error no 200 status, time: " $(date +"%y-%m-%d %H:%M:%S") "restart lnmp.. " | mail -s "Critical Info: Website is offline." 1388888888@139.com
/usr/local/php/sbin/php-fpm restart
echo "restart lnmp: php-fpm"
fi

    这个脚本的意思就是监控 http://www.piaoyi.org/test200.php 这个网页,如果返回的不是 200 状态码,就自动重启 PHP。其中命令行 /usr/local/php/sbin/php-fpm restart 可以换成其他命令,如 /root/lnmp restart 等。邮箱换成你自己的,每次发生错误时,会给你发送邮件。

    【补充 vi vim用法】:i 进入编辑状态; :wq 保存退出; :q! 不保存退出。

    然后是设定权限:
chmod 777 /root/test200_monitor.sh

    运行定时程序:
crontab -e

    输入以下内容每隔5分钟检测一次
*/5 * * * * /root/test200_monitor.sh

    好了,大功告成。你可以放心的工作去了,lnmp不会再出现502 Bad Gateway的错误了。

    如果你希望直接在php脚本里运行命令行也可以,网站根目录下建立一个php文件 monitor.php ,里面内容如下:
<?
$url = 'http://www.piaoyi.org';
$cmd = '/usr/local/php/sbin/php-fpm restart';

$exec = "curl --connect-timeout 5 -I $url 2>/dev/null";
$res = shell_exec($exec);

if(stripos($res,'502 Bad Gateway') !== false){
shell_exec($cmd);
exit();
}
?>

    然后同上面一样,用 crontab 添加一行定时运行命令,在线监测即可。

参考:
http://www.zzwsem.net/lnmp502504.html
http://bbs.vpser.net/thread-1913-1-1.html
作者:flymorn
来源:flymorn
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:再看360浏览器的市场份额
下一篇:互联网行业的商业智慧:抄袭与创新
6条评论 “lnmp出现502 Bad Gateway自动解决方法”
2011-10-31 15:20:55
好文章啊   我必须要顶一个
2011-10-31 15:46:17
什么自动化解决办法 啊
2011-11-11 23:05:33
我的VPS以前也老502,后来我设置一个小时重启一次php-fpm ,就再也没出现过502了
2011-11-14 16:41:45
原来还有这回事,还能自动解决啊。。
5 502 Bad Gateway
2012-12-6 18:04:20
502 Bad Gateway
2014-9-19 13:38:24
要是执行一段时间后才发生这种情况,这个应该怎么解决啊
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有