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 相关文章推荐
php中文本数据翻页(留言本翻页)
Oct 09 PHP
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
安装APACHE
Jan 15 PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
PHP实现Socket服务器的代码
Apr 03 PHP
利用curl抓取远程页面内容的示例代码
Jul 23 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 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
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
Python做文本按行去重的实现方法
2016/10/19 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
python实现取余操作的简单实例
2020/08/16 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
DTD的含义以及作用
2014/01/26 面试题
会计电算化应届生求职信
2013/11/03 职场文书
党员学习十八大感想
2014/01/17 职场文书
怎么写自荐书范文
2014/02/12 职场文书
采购经理岗位职责
2014/02/16 职场文书
优秀护士演讲稿
2014/04/30 职场文书
企业文明单位申报材料
2014/05/16 职场文书
婚宴邀请函
2015/01/30 职场文书
商标侵权律师函
2015/05/27 职场文书
2016猴年春节问候语
2015/11/11 职场文书