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&amp;mysql(六)
Oct 09 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
May 19 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
php生成txt文件标题及内容的方法
Jan 16 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
php实现图片上传并利用ImageMagick生成缩略图
Mar 14 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
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
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
js实现楼层导航功能
2017/02/23 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
PHP面试题及答案一
2012/06/18 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
师范教师毕业鉴定
2014/01/13 职场文书
网络信息安全承诺书
2014/03/26 职场文书
社会工作专业自荐信
2014/09/26 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
安全生产奖惩制度
2015/08/06 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android
2022微信温控新功能上线
2022/05/09 数码科技
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python