使用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 添加一行定时运行命令,在线监测即可。(via: 来源)

转载于:https://www.cnblogs.com/flymoo/archive/2011/09/28/2194927.html

lnmp一键包502 Bad Gateway解决方法相关推荐

  1. php502bad gateway,经验之谈:nginx php 502 bad gateway 解决方法

    今天在使用nginx时发现运行php页面会提示502 bad gateway这类错误了,下面我根据各位群友提供的一些方法完美的解决了502 bad gateway问题. 访问phpMyAdmin时,出 ...

  2. php 502 bad gateway 解决方法

    起因 新装的LNMP环境怎么都跑不起来代码,一直提示502 bad gateway 本着有事找度娘的精神,我首先百度了以下,果然度娘一下帮我找到了很多网友们提供的答案,五花八门,有的说是超时时间的问题 ...

  3. LNMPA(LNMP0.7)安装出现502 Bad Gateway解决方法

    2019独角兽企业重金招聘Python工程师标准>>> LNMPA是什么? 简单的说就是Linux+Nginx+MySql+PHP+Apache 怎么会用这种构架? Nginx和Ap ...

  4. 常见的Nginx 502 Bad Gateway解决办法

    常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数 ...

  5. springboot扫描组件_springboot多模块包扫描问题的解决方法

    问题描述: springboot建立多个模块,当一个模块需要使用另一个模块的服务时,需要注入另一个模块的组件,如下面图中例子: memberservice模块中的MemberServiceApiImp ...

  6. 给lnmp一键包中的nginx安装openresty的lua扩展

    lnmp一键包(https://lnmp.org)本人在使用之后发现确实好用,能帮助我们快速搭建起lnmp.lamp和lnmpa的web生产环境,因此推荐大家可以多试试.但有的朋友可能需要使用open ...

  7. 关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法

    关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法 参考文章: (1)关于servlet类,继承HttpServlet,但是无法导入HttpServ ...

  8. 安装fastDFS的依赖包fdfs_client报错解决方法

    安装fastDFS的依赖包fdfs_client报错解决方法 参考文章: (1)安装fastDFS的依赖包fdfs_client报错解决方法 (2)https://www.cnblogs.com/Se ...

  9. Spring @Autowired 调用别的包下的Bean 解决方法

    Spring @Autowired 调用别的包下的Bean 解决方法 参考文章: (1)Spring @Autowired 调用别的包下的Bean 解决方法 (2)https://www.cnblog ...

最新文章

  1. 做乘法c语言,【code】C语言_实现输入的矩阵的乘法运算
  2. python2.7安装pip_python2.7 安装pip的方法步骤(管用)
  3. javascript-练习-数组数据存li中
  4. @synthesis 使用的时候注意的地方
  5. [家里蹲大学数学杂志]第413期插值不等式
  6. 点击查询后在表格中获取控件的值
  7. 初学者PLC程序及有效学习方法
  8. QT出现应用程序无法正常启动0xc000007b的错误
  9. 灰色预测理论matlab,利用灰色理论数据预测及MATLAB代码(数学建模).pdf
  10. 可视化GDP动态图表EXCEL也能搞定,如何用Excel做动态图表
  11. 【python】如何批量修改文件名
  12. Typora的崩溃导致文件丢失
  13. 全能在线APP一款开源的多功能在线学习考试智慧软件系统
  14. [转载]interp1
  15. 奥维地图怎么标注文字_如何在奥维地图上准确地告诉别人“我在哪?”
  16. [react] addons
  17. 蓝桥ROS机器人之命令行实践
  18. 网络流之最大流算法——EK算法(通俗讲解)
  19. OpenCV python 提取图像内的三色
  20. QTextBrowser显示图片(图片文字对齐)

热门文章

  1. sqlite中常见的问题总结
  2. github上传代码
  3. 多文件目录下makefile文件递归执行编译所有c文件 很不错
  4. 云拨测助力节卡机器人,全面优化海外网站性能
  5. 从理念到实践跳跃式演进!云的原生“免疫系统”如何有机作战?
  6. 函数计算如何帮助语雀构建稳定且安全的业务架构?
  7. 履约时间预估:如何让外卖更快送达?
  8. 全球最强大脑在哪?阿里小蜜算法团队在寻找
  9. 启动T0运行的C语言语句是,单片机填空题期末复习。、
  10. python tkinter 循环显示文本_Python简易音乐播放器