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中的时间显示
Jan 18 PHP
php error_log 函数的使用
Apr 13 PHP
php添加文章时生成静态HTML文章的实现代码
Feb 17 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
php多线程实现方法及用法实例详解
Oct 26 PHP
php封装的page分页类完整实例
Oct 18 PHP
php常用字符函数实例小结
Dec 29 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 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查询搜索引擎排名位置的代码
2010/01/05 PHP
php+mysql事务rollback&amp;commit示例
2010/02/08 PHP
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
JavaScript Sort 表格排序
2009/10/31 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
DNA测试:Orig3n
2019/03/01 全球购物
扩大国家免疫规划实施方案
2014/03/21 职场文书
技术合作协议书范本
2014/04/18 职场文书
花坛标语大全
2014/06/30 职场文书
小学数学教研活动总结
2014/07/01 职场文书
倡议书的格式写法
2015/04/28 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
python自动化之如何利用allure生成测试报告
2021/05/02 Python
python模板入门教程之flask Jinja
2022/04/11 Python