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

我们今天来介绍几种出现502错误情况。

一、fastcgi缓冲区设置过小 

出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误。

2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream

大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。

http {
    ...
    fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k;
    ...
}

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

二、代理缓冲区设置过小 

如果你使用的是nginx反向代理,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header (说白了就是nginx把外部请求给后端处理,后端返回的header太大,nginx处理不过来就会导致502)

我们直接到nginx配置域名中配置

location / {
    listen 80;
    server_name www.kingbal.com;
    proxy _buffer_size 64k;
    proxy _buffers 32 32k;
    proxy _busy_buffers_size 128k;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    ......
}

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

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

四、php执行超时 
vim /usr/local/php/etc/php.ini

max_execution_time : 300

五、nginx等待时间超时 

部分php程序的执行时间超过了Nginx的等待时间,可以适当增加FastCGI的timeout时间

vim /etc/nginx/nginx.conf

http { 
    fastcgi_connect_timeout 300; 
    fastcgi_send_timeout 300; 
    fastcgi_read_timeout 300; 
    ......
}

以上路径请根据自己安装的nginx根目录进行修改

相关推荐

  1. Nginx502 Bad Gateway 错误原因解决方法

    2024-07-18 16:24:02       19 阅读
  2. Nginx返回502错误提示问题原因常用解决方法

    2024-07-18 16:24:02       44 阅读
  3. Nginx 报错 504 Gateway Time-out 解决方法

    2024-07-18 16:24:02       34 阅读
  4. Nginx错误502 Bad Gateway

    2024-07-18 16:24:02       48 阅读
  5. Nginx系列---【解决nginx返回502 bad gateway问题】

    2024-07-18 16:24:02       23 阅读
  6. 访问网站提示502 Bad Gateway原因解决方法

    2024-07-18 16:24:02       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 16:24:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 16:24:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 16:24:02       58 阅读
  4. Python语言-面向对象

    2024-07-18 16:24:02       69 阅读

热门阅读

  1. Web开发-LinuxGit基础5-本地-分支

    2024-07-18 16:24:02       20 阅读
  2. 交易-软件科技股F4(kafka、NET、snow、MongoDB)

    2024-07-18 16:24:02       20 阅读
  3. 关于Hadoop生态系统一部分的Catalog

    2024-07-18 16:24:02       24 阅读
  4. 高内聚,低耦合的解释及实例【包学包会】

    2024-07-18 16:24:02       20 阅读
  5. 网页制作技术:概念、现状与展望?

    2024-07-18 16:24:02       20 阅读
  6. Ubuntu22.04:安装Samba

    2024-07-18 16:24:02       21 阅读
  7. 使用 Vue 和 ECharts 打造动态数据可视化图表

    2024-07-18 16:24:02       25 阅读
  8. 排序思想-快排

    2024-07-18 16:24:02       25 阅读
  9. pytorch学习(一)argparse

    2024-07-18 16:24:02       24 阅读
  10. logback-spring.xml配置

    2024-07-18 16:24:02       18 阅读
  11. 嵌入式Linux应用开发基础-现有动态库so的使用

    2024-07-18 16:24:02       21 阅读
  12. Git常用命令详解

    2024-07-18 16:24:02       22 阅读
  13. git 指令速查

    2024-07-18 16:24:02       18 阅读
  14. IO多路复用技术、select、poll、epoll联系与区别

    2024-07-18 16:24:02       27 阅读