Nginx 遇到502 Bad Gateway 自动重启的脚本代码

原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。


代码如下:

#!/usr/bin/php
<!--$url = 'http://www.jb51.net';
$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();
}
}
-->

至于crontab,请自行Google搜索或参考下面的文章
http://www.jb51.net/LINUXjishu/19905.html
http://www.jb51.net/LINUXjishu/17374.html

(0)

相关推荐

  • 深入探讨:Nginx 502 Bad Gateway错误的解决方法

    max_children=40 , 每个children平均占用20M-30M内存,children越多,可以同时接受的并发数量越多,一般children的值是网站最高并发数+浮动值,这值再×内存占用,就是你需要用到的内存.max_requests = N 是指当每个children接受了N次请求以后,就会把自己杀死,然后重新建立一个children.PV / max_children = 每一个children接受的request次数[ 默认预设浏览一个只调用一次PHP程序,或许异步调用呢?接

  • 解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误

    我让按照以下两个步骤去解决,最后在第2步中将FastCGI的timeout时间增加为300,问题解决: PS:比较羡慕迅雷的Web服务器,16G内存. -------------------------------------------------------------------------------- 1.查看当前的PHP FastCGI进程数是否够用: netstat -anpo | grep "php-cgi" | wc -l 如果实际使用的"FastCGI进程

  • nginx 502 Bad Gateway 错误解决办法

    一些运行在Nginx上的网站有时候会出现"502 Bad Gateway"错误,有些时候甚至频繁的出现.以下是小编搜集整理的一些Nginx 502错误的排查方法,供参考: Nginx 502错误的原因比较多,是因为在代理模式下后端服务器出现问题引起的.这些错误一般都不是nginx本身的问题,一定要从后端找原因!但nginx把这些出错都揽在自己身上了,着实让nginx的推广者备受置疑,毕竟从字眼上理解,bad gateway?不就是bad nginx吗?让不了解的人看到,会直接把责任推在

  • Nginx 502 bad gateway和Nginx 504 Gateway Time-out错误解决方法 错误解决办法

    最近服务器宕机的现象比较频繁,临下班时分,G给挂掉了,502 Bad Gateway Nginx,不由得让我想起之前的504 Gateway Time-out,两者应该有点联系,一定得弄清楚.Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI. 解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关,而Nginx 504 Gateway Time-o

  • Nginx 遇到502 Bad Gateway 自动重启的脚本代码

    原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令. 复制代码 代码如下: #!/usr/bin/php <!--$url = 'http://www.jb51.net'; $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 =

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

    最近服务器时不时出现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  con

  • 详解程序意外中断自动重启shell脚本(以Python为例)

    我们经常需要在后台运行一些python脚本,来监控系统或者做一些其他事情:但是 由于各种各样的原因,排除python脚本代码的问题,脚本运行过程中会挂掉.为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启. 以控制 python自动重启的shell脚本为例: cd Desktop vim run.sh #新建名为run的shell脚本 写入(此处以名为run的Python脚本为例) #!/bin/bash while [ 1 ];do python run

  • linux自动重启tomcat脚本分享

    复制代码 代码如下: #!/bin/bash##chkconfig: 35 88 14#description: tomcat auto start script#script by okhelpercase "$1" instart)echo "Here is start script..."JAVA_HOME=/usr/jdk1.6.0_13;export JAVA_HOMEJRE_HOME=$JAVA_HOME/jre;export JRE_HOMEexpor

  • 用VBScript制作QQ自动登录的脚本代码

    一直用的是狂人版的QQ,也用它附赠的自动登录器很久了,不过最近一版的狂人QQ不知为何取消了自动登录组件.好在QQ2009已经能够同时记住多个号码的密码,虽然要多点击几下,但依然能够实现免输入密码登录. 谁知最近不知道电脑发了什么疯,每隔一段时间,QQ记住的密码就会被清空.我的两个QQ号密码都设置得比较复杂,每次登录要输入两遍密码实在是件痛苦的事情,于是决定自制一个登录器. 在网上找了许久,发现了一个用VBS制作QQ登录脚本的办法: 复制代码 代码如下: set WshShell = WScrip

  • ssh expect自动登录的脚本代码

    实现:ssh远程登录,每次都要指定一堆用户名和密码,现要求实现自动登录.登录流程:本地A 先登录到 B 再由B 登录到最终的C 如下: 复制代码 代码如下: #!/usr/bin/expect -fset timeout 30spawn ssh Bexpect "password:"send "passwd@\r"expect "]*"send "ssh name@C -p port\r"expect "passwo

  • nginx服务器异常502 bad gateway原因排查

    服务器进行公众号粉丝数据同步以及批量推送报错502 根据错误信息可以判定是后端的问题,502错误的原因有很多种,但总的来说就是服务器处理不过来了 1.首先查看服务器日志 1)先查nginx日志,不熟悉的可以从nginx.conf中获取error_log的路径,找到错误如下: 发现nginx进程处理的连接数不够用,单个进程处理的连接数超过了nginx.conf配置的worker_connections值 通常worker_connections的值可以参考单个进程打开的最大连接数,命令为:ulim

随机推荐