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

这篇具有很好参考价值的文章主要介绍了Nginx 502 Bad Gateway 错误的原因及解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nginx 502,mysql,数据库,编程语言,mysql

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.ini 将max_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不够

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

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://www.toymoban.com/news/detail-778169.html

到了这里,关于Nginx 502 Bad Gateway 错误的原因及解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx反向代理出现错误 502 bad gateway 案例解析

    Nginx + uwsgi + flask Flask框架写的程序,使用uwsgi启动,Nginx作为反向代理调用Flask应用。 Flask应用有些操作时间比较长,会超过1分钟,在网页端访问会出现错误: 502 bad gateway。 Nginx的错误日志中会出现错误:upstream prematurely closed connection while reading response header from upstream 经过网上

    2024年02月08日
    浏览(45)
  • 502 bad gateway原因、解决方法

     网上查了查资料,这里记录一下。       在当今时代,每个人都使用互联网。 通常,在使用 Internet 和访问网页时,计算机和网站之间可能会出现连接问题。 这些连接问题会产生某些错误代码,称为 HTTP 状态代码。 这些代码根据类型分为 1xx、2xx、3xx、4xx 和 5xx。 由于不同

    2024年02月05日
    浏览(47)
  • nginx反向代理502-Bad Gateway问题解决

    配置nginx反向代理时出现502 通过nginx -t检查配置以成功 通过nginx -s reload重新加载 通过cat /var/log/nginx/error.log查看错误日志发现错误信息,这里的错误信息是“connecting to upstream ”。这里怀疑是selinux拒绝nginx 转发 8080端口。 关闭selinux重新测试 关闭后重新测试正常,可以通过反向

    2024年01月19日
    浏览(65)
  • 【已解决】nginx 502 Bad Gateway 问题排查

    访问网站或请求接口时,出现: 日志一般放在/var/log/nginx下面。 跑流水线的话一般部署日志在控制台可以直接看到(我遇到的一次就是构建包下载下来大小为0kb,md5校验也不通过) 源码安装的nginx配置文件一般在 /usr/local/nginx/conf/nginx.conf/ 不是源码安装的一般在 /etc/nginx/ngi

    2024年02月15日
    浏览(56)
  • 解决nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)以及nginx 502 Bad Gateway解决方法

    今天早晨到公司,打开测试环境的登录网页,如下图所示: 输入用户名和密码,点击 login ,一直无法登录。 于是,打开控制台,却发现报出如下错误: 于是,登录 nginx 所在的服务器,使用如下命令,找到 nginx 的安装目录:

    2024年02月08日
    浏览(56)
  • 502 bad gateway是什么意思 502 bad gateway错误解决方法

    简单来说 502 是报错类型代码 bad getway 错误的网关,连接超时 我们向服务器器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错 您可以尝试清除浏览器缓存 访问一下你的FTP看是否可以登陆 成功解决502 Bad Gateway错误 今天登陆博客,显

    2024年02月03日
    浏览(50)
  • 502 Bad Gateway产生的原因以及8种详细的解决方法

    今天打开某网站时,却报出如下的错误信息: 即报出 502 Bad Gateway 的错误信息,这个错误信息是什么,又该如何解决呢? 接下来,我便详细分析。

    2023年04月14日
    浏览(82)
  • nginx+php 出现502 bad gateway

    nginx+php 出现502 bad gateway,一般这都不是nginx的问题,而是由于 fastcgi或者php的问题导致的,常见的有以下几种。 1.   php.ini 的memory_limit 过小(如果有个别php程序进程需要占用极大内存时这个必须注意) 2.   php-fpm.conf 中max_children或者max_requests  设置不合理(设置过小会因为没

    2024年02月12日
    浏览(47)
  • 宝塔反向代理后报错:502 Bad Gateway nginx

    我应该跟这个问题差不多,解决方案也来自这里: 在反代的时候没有强制指定SSL协议,导致SSL握手失败,在反代配置中添加上相关的配置就好:

    2024年02月12日
    浏览(48)
  • PHP-FPM与Nginx通信报 502 Bad Gateway或504 Gateway Timeout终极解决方案(适用于PHP执行耗时任务情况下的报错)

    适用于常规请求都没问题,但是执行某些php脚本需要超过一分钟的情况下的502/504,并不是任何请求都502/504的情况(这说明php-fpm或者nginx配置错误)。 执行脚本时间太长,期间php没有返回任何的数据。 php-fpm超时,nginx没超时 。nginx认为php-fpm罢工了,然后抛出了异常。 执行脚

    2024年02月08日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包