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写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
php统计文章排行示例
Mar 04 PHP
ThinkPHP模板比较标签用法详解
Jun 30 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 PHP
PHP 使用位运算实现四则运算的代码
Mar 09 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内存相关的功能特性详解
2013/06/08 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
javascript根据像素点取位置示例
2014/01/27 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
angular十大常见问题
2017/03/07 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
Python写的英文字符大小写转换代码示例
2015/03/06 Python
Python素数检测的方法
2015/05/11 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
TensorFlow实现创建分类器
2018/02/06 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
python中dict()的高级用法实现
2019/11/13 Python
python logging添加filter教程
2019/12/24 Python
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
物理教育专业毕业生推荐信
2013/11/03 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
2014年底个人工作总结
2015/03/10 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
导游词之丹东鸭绿江
2019/10/24 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL