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


Posted in PHP onMay 13, 2015

最近服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办?
没关系,写个脚本检测服务状态,发现异常,自动重启。
自动重启脚本:

<?php 

$url = 'http://blog.rebill.info'; 

$cmd = '/usr/local/php/sbin/php-fpm restart'; 

  

for($i = 0; $i < 5; $i ++){ 

        $exec = "curl  connect-timeout 3 -I $url 2>/dev/null"; 

        $res = shell_exec($exec); 

  

        if(stripos($res, '502 Bad Gateway') !== false){ 

                shell_exec($cmd); 

                exit(); 

        } 

}

原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。
url和cmd根据实际情况改成自己的。然后放到crontab里一分钟执行一次。
*/1 * * * * /usr/bin/php /root/crontab/nginx502.php

大功告成!
PHP 相关文章推荐
桌面中心(一)创建数据库
Oct 09 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
php 中的4种标记风格介绍
May 10 PHP
PHP中文编码小技巧
Dec 25 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
PHP Cli 模式设置进程名称的方法
Jun 12 PHP
简单解决新浪SAE无法上传文件的问题
May 13 #PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 #PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 #PHP
如何在HTML 中嵌入 PHP 代码
May 13 #PHP
PHP性能分析工具XHProf安装使用教程
May 13 #PHP
PHP CURL 多线程操作代码实例
May 13 #PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 #PHP
You might like
nginx下安装php7+php5
2016/07/31 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
删除节点的jquery代码
2014/01/13 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
jQuery动态添加
2016/04/07 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
详解python单例模式与metaclass
2016/01/15 Python
python中常用的九种预处理方法分享
2016/09/11 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
python实现从wind导入数据
2019/12/03 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
一些PHP的面试题
2015/05/06 面试题
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
质检部经理岗位职责
2014/02/19 职场文书
学生个人自我鉴定
2014/03/26 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
2014年党建工作总结
2014/11/11 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS