本文介绍: 在安装使用过程出现502问题,一般是因为默认phpcgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改。如果您只有在部分尝试访问网站出现问题,那很可能一个问题,即这些网站之一,其设备故障或超载。到此这篇关于Nginx 502 bad gateway错误解决的九种方案原因文章介绍到这了,希望对你有所帮助。在种情况下,只有您的ISP可以帮助您。在第二种情况下,你需要解决什么,那是阻止你进入互联网。多数是后端问题就是PHP的问题简单的情况可以刷新(不是一般的刷新哦,

Nginx 502 Bad Gateway 错误原因及解决方法

多数是后端问题就是PHP的问题简单的情况可以刷新(不是一般的刷新哦,Ctrl + F5 强制刷新)解决。在php服务当中,有两个参数非常的重要:max_requeststmax_children,具体的原因必须要查看日志才可以弄明白!

1、检查PHP基础设置

修改/www/server/php/80/etc/php-fpm.conf request_terminate_timeout = 100 ,把100改成5

php执行超时修改/usr/local/php/etc/php.inimax_execution_time 为300

2、FastCGI进程是否已经启动

1

ps aux | grep php

查看是否启动php-fpm服务

3、FastCGI worker进程是否不够

运行linux命令

1

netstat -anpo | grep “php-cgi” | wc -l

判断是否接近FastCGI进程,接近配置文件设置数值,表明worker进程设置太少;

4、FastCGI执行时间过长

PHP程序执行时间超过了Nginx等待时间,可以适当增加nginx.conf配置文件FastCGItimeout时间,根据实际情况调高以下参数值:

1

2

3

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

5、FastCGI Buffer不够

nginxapache一样,有前端缓冲限制,可以调整缓冲参数

1

2

fastcgi_buffer_size 32k;

fastcgi_buffers 8 32k;

6、FastCGI 缓冲区设置过小

首先查找nginx日志文件目录/var/log/nginx,在日志发现如下错误

[error] 15421#0: *16 upstream sent too big header while reading response header from upstream意思是nginx缓冲区bug造成,网站页面占用缓冲区可能过大。增加缓冲区彻底解决了Nginx 502 Bad Gateway方法如下

1

2

3

4

5

6

http {

    ...

    fastcgi_buffers 8 16k;

    fastcgi_buffer_size 32k;

    ...

}

请根据服务器已经网站的情况自行增大上述两个配置项。

7、代理缓冲区设置过小(使用了nginx反向代理的情况)

如果header过大,超出了默认的1k,就会引发upstream sent too big header

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

server {

        listen       80;

        server_name  *.test.com;

  

        location / {

  

###############添加这3行

            proxy_buffer_size 64k;

            proxy_buffers   32 32k;

            proxy_busy_buffers_size 128k;

###############添加这3行

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP       $remote_addr;

            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;

............

}

8、默认php-cgi的进程数设置过少

安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children的值适当增加。也有可能max_requests的值不够用。需要说明的是这连个配置占用内存很大,请根据服务器配置进行设置。否则可能起到反效果

9、其它原因

如果您上网时在您尝试访问的所有网站上都看这个问题,有两种可能

①你的ISP重大设备故障/过载

②有问题的内部互联网连接如您的防火墙无法正常运作。

在种情况下,只有您的ISP可以帮助您。在第二种情况下,你需要解决什么,那是阻止你进入互联网

如果您只有在部分尝试访问的网站中出现此问题,那很可能是一个问题,即这些网站之一,其设备故障或超载。联系你网站的管理员

到此这篇关于Nginx 502 bad gateway错误解决的九种方案及原因的文章介绍到这了,希望对你有所帮助。

转自:微点阅读    https://www.weidianyuedu.com

原文地址:https://blog.csdn.net/weixin_45707610/article/details/131206779

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_45104.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注