nginx php 502 Bad Gateway错误原因分析

发生原因

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

2、PHP FastCGI的内存不够用

当nginx返回静态页面时,这个问题一般不会出现,因为nginx不需要php cgi的处理而直接返回静态页面。但是当网页需要处理大量的php复杂操作的时候,例如执行api采集,或者采集页面的时候,那对php的要求是相当高的,如果配置给他的内存太少,那很容易就会导致php崩溃。

解决办法

因为我之前重启了几次服务器

 代码如下 复制代码

# /etc/init.d/php-fpm start

Starting php-fpm done

上面是我的解决办法,但是这个方法个人觉得不保险又去找了一下

脚本执行时间超时

如果脚本因为某种原因长时间等待不返回 ,导致新来的请求不能得到处理,可以适当调小如下配置。

nginx.conf里面主要是如下

 代码如下 复制代码

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

php-fpm.conf里如要是如下

 代码如下 复制代码

request_terminate_timeout = 10s

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

nginx php 502 Bad Gateway错误原因分析的相关文章

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(

nginx 502 Bad Gateway 错误解决办法

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

VPS频繁提示Nginx 502 Bad Gateway错误的解决办法

这是一篇非常有价值的文章,在我们的Linux生产环境实际使用过程中,Nginx也难免会出现这样或是那样的故障,而502 Bad Gateway也是最常见的故障之一,所以整理出Nginx 502 Bad Gateway的一些解决方案!现在Nginx在Webhttp://www.aliyun.com/zixun/aggregation/18665.html">应用领域也是越来越广泛,有很多大型的互联网公司,或是Web站点都将运行平台移植到Nginx中,而相对于Apache所占市场的比例,Ngi

nginx 502 Bad Gateway 错误解决办法_nginx

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

NGINX 502 Bad Gateway错误怎么解决

将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手: 1.查看FastCGI进程是否已经启动 NGINX 502错误的含义是sock.端口没被监听造成的.我们先检查fastcgi是否在运行 2.检查系统Fastcgi进程运行情况 除了第一种情况,fastcgi进程数不够用.php执行时间长.或者是php-cgi进程死掉也可能造成nginx的502错误 运行以下命令判断是否接近FastCGI进程,如果fastcgi进程数接近配置文件中设置的数

wordpress安装提示NGINX 502 Bad Gateway错误解决办法

今天在新装的Linode的VPS中搭建搭建一个WORDPRESS站点,谁知道在step=2的时候出现了莫名其妙的502 Bad Gateway错误. 20110112200117-156870207[1] 期初以为是并发和内存的问题,调整了php-fpm.ini,也重新编译了php.结果问题依旧.好吧,查看Centos的日志吧. # less /var/log/messages //系统下查看日志文件. 发现最近的错误在: Jan 26 02:09:40 li631-178 kernel: ph

nginx下502和504错误的解决办法

 一.错误提示说明: Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止. Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI. 二.错误提示原因分析: 解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关, 而Nginx 504 Gate