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

原理就是用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

时间: 2024-07-31 19:54:47

Nginx 遇到502 Bad Gateway 自动重启的脚本代码_nginx的相关文章

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

  这篇文章主要介绍了PHP脚本监控Nginx 502错误并自动重启php-fpm,本文直接给出实现代码,然后放到cron中执行,需要的朋友可以参考下 最近服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办? 没关系,写个脚本检测服务状态,发现异常,自动重启. 自动重启脚本: 代码如下: $url = 'http://blog.rebill.info'; $cmd = '/usr/local/php/sbin/php-fpm restart

PHP脚本监控Nginx 502错误并自动重启php-fpm_php技巧

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

Nginx提示502 Bad Gateway错误问题解决方法小结

502 Bad Gateway错误问题解决方法 Nginx 502错误的原因比较多,是因为在代理模式下后端服务器出现问题引起的.这些错误一般都不是nginx本身的问题,一定要从后端找原因!但nginx把这些出错都揽在自己身上了,着实让nginx的推广者备受置疑,毕竟从字眼上理解,bad gateway?不就是bad nginx吗?让不了解的人看到,会直接把责任推在nginx身上,希望nginx下一个版本会把出错提示写稍微友好一些,至少不会是现在简单的一句 502 Bad Gateway,另外还不

解决php导致nginx报502 bad gateway错误问题

502 bad gateway不一定全是nginx,apache之类引起的,也有可能是由其他模块引起的,例如:php 1,查看php-fpm和nginx的log # vim /var/log/nginx/error.log recv() failed (104: Connection reset by peer) while reading response header from upstream # vim /var/log/php-fpm/error.log WARNING: [pool

经验之谈:nginx php 502 bad gateway 解决方法

访问phpMyAdmin时,出现下面错误. phpMyAdmin – Error Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.第一次打开提示,刷新提示: 502 bad gateway 查看nginx error log: [error]  recv(

Linux 守护进程 自动重启 shell 脚本分享

#!/bin/sh #本脚本为守护进程, 如果发现进程僵死时, 自动重启进程   function check_and_kill_and_start(){ log_file=$1 ps_name=$2 dead_duration=$3 # echo "check the progress "$ps_name ymd=$(date +%Y-%m-%d) log_file=${log_file}${ymd}.log # echo $log_file 判断是否存在log_file if [ 

CentOS下Web服务器CPU负载超过阀值自动重启shell脚本

说明:   操作系统:CentOS   web服务器:apache  问题:   搜索引擎的爬虫导致网站在某一段时间内访问量剧增,服务器压力过大,网站访问超时.页面无法打开.  解决办法:   定时监控服务器负载,超过一定阀值后,自动重启web服务.   apache安装目录:/usr/local/apache   脚本运行日志文件:/usr/local/apache/check_cpu_load.log   脚本存放目录:/home/crontab   cd /home/crontab   v

nginx php 502 Bad Gateway错误原因分析

发生原因 1.PHP FastCGI进程数不够用 当网站并发访问巨大时,php fastcgi的进程数不有一定的保障,因为cgi是单线程多进程工作的,也就是说cgi需要处理完一个页面后再继续下一个页面.如果进程数不够,当访问巨大的时候,cgi按排队处理之前的请求,之后的请求只有被放弃.这个时候nginx就会不时的出现502错误. 2.PHP FastCGI的内存不够用 当nginx返回静态页面时,这个问题一般不会出现,因为nginx不需要php cgi的处理而直接返回静态页面.但是当网页需要处理

Nginx 启动脚本/重启脚本代码_nginx

第一步 先运行命令关闭nginx sudo kill `cat /usr/local/nginx/logs/nginx.pid` 第二步 vi /etc/init.d/nginx 输入以下内容 复制代码 代码如下: #!/bin/sh # # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S)