QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2268|回复: 0

[PHP开发] PHP脚本监控Nginx 502错误并自动重启php-fpm

[复制链接]

244

主题

261

帖子

962

积分

注册会员

Rank: 2

积分
962
发表于 2016-3-3 10:00:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办?
没关系,写个脚本检测服务状态,发现异常,自动重启。
自动重启脚本:
  1. <?php
  2. $url = 'http://blog.rebill.info';
  3. $cmd = '/usr/local/php/sbin/php-fpm restart';
  4.   
  5. for($i = 0; $i < 5; $i ++){
  6.         $exec = "curl  connect-timeout 3 -I $url 2>/dev/null";
  7.         $res = shell_exec($exec);
  8.   
  9.         if(stripos($res, '502 Bad Gateway') !== false){
  10.                 shell_exec($cmd);
  11.                 exit();
  12.         }
  13. }
复制代码
原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。
url和cmd根据实际情况改成自己的。然后放到crontab里一分钟执行一次。
  1. */1 * * * * /usr/bin/php /root/crontab/nginx502.php
复制代码
大功告成!



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

     
    战略合作|联系方式|广告赞助|商务合作|手机版|小黑屋|( 京ICP备14036609号-6 )

GMT+8, 2017-8-19 09:40

© 2013-2017 Powered by Discuz! X3.3. 本站由 又拍云 提供 CDN 图片存储服务

快速回复 返回顶部 返回列表