帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 服务支持
  5. 网络连接问题
  6. 在ECS实例内访问网站提示“Nginx 502 bad gateway”错误如何处理?

在ECS实例内访问网站提示“Nginx 502 bad gateway”错误如何处理?

  • 网络连接问题
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

本文介绍在ECS实例上使用浏览器访问网站时,提示“Nginx 502 Bad Gateway”错误的问题原因和解决方案。

问题原因

“Nginx 502 Bad Gateway”错误表示访问请求的php-cgi进程已经开始执行,但是由于读取资源失败等原因没有执行完毕,导致php-cgi进程终止。

常见的问题原因如下:

  • 磁盘空间不足

  • php-cgi进程数不够用

  • PHP执行超时

  • php-cgi进程异常中断

解决方案

您可以参考如下操作进行逐一排查。

说明

本文中/usr/local/php/etc/php-fpm.conf、/usr/local/php/etc/php.ini、/etc/nginx.conf等配置文件需要根据安装环境不同来更换路径,请以您的实际部署安装的软件路径为准。

磁盘空间不足

如果访问网站时,直接提示“Nginx 502 Bad Gateway”错误,可能是ECS实例的磁盘空间不足导致。您需要执行如下步骤进行排查:

  1. 远程登录ECS实例。

    具体操作,请参见连接方式概述。

  2. 执行df -h命令,查看是否磁盘空间是否充足。

    • 如果磁盘空间充足,则该问题不是由于磁盘空间问题导致。

    • 如果磁盘空间不足,则您需要扩容云盘,具体操作,请参见云盘扩容指引。

    df -h

php-cgi进程数不够用

如果在已安装Nginx且可以正常访问网站的环境中,运行一段时间才后出现“Nginx 502 Bad Gateway”错误,则可能是php-cgi进程数不够用导致。

此时,您需要修改/usr/local/php/etc/php-fpm.conf配置文件,将文件中pm.max_children参数的值调高,即增加php-cgi进程数。

20230119182959

PHP执行超时

如果访问网站时,直接提示“Nginx 502 Bad Gateway”错误,可能是PHP执行超时导致。

此时,您需要修改/usr/local/php/etc/php.ini配置文件,将文件中max_execution_time参数的值改为300。如下图所示,您需要将该参数的值从30修改为300。

20230119182518

php-cgi进程异常中断

如果访问网站时,直接提示“Nginx 502 Bad Gateway”错误,可能是php-cgi进程异常中断导致。您需要执行如下步骤进行法排查:

  1. 远程登录ECS实例。

    具体操作,请参见连接方式概述。

  2. 依次执行如下命令,查看php fastcgi的进程数和pm.max_children参数的值。

    netstat -anop | grep php-cgi | wc -l
    netstat -anpo | grep php-fpm | wc -l
  3. 执行如下命令,查看当前进程。

    ps aux | grep php-fpm 

    回显示例如下,查看fastcgi、php-fpm的进程数。如果进程数大于或等于5个,则表示需要增加进程数。

  4. 修改/usr/local/php/etc/php-fpm.conf配置文件中的相关参数。

    • 将pm.max_children参数的值修改为5,表示支持5个进程。

      说明

      pm.max_children最多支持设置5个进程。按照每个进程20 MB内存,最多支持100 MB,即资源消耗时间为1分钟。如果pm.max_children增多,则php-cgi的进程增多,进程处理速度就会加快、排队的请求就会变少。但是设置pm.max_children也需要根据服务器的性能进行设定,一台服务器正常情况下,每一个php-cgi进程所耗费的内存在20 MB左右,您需要根据实际购买的服务器内存来决定pm.max_children的值。

    • 将request_terminate_timeout参数的值修改为60,表示内存回收机制为1分钟(60秒)。

      说明

      request_terminate_timeout的值可以根据服务器的性能进行设定,常见设置为60秒。通常服务器性能越好,您可以设置的值越高。

  5. 如果PHP进程的执行时间超过了Nginx的等待时间,则您需要适当增加Nginx的/etc/nginx.conf配置文件中fastcgi_connect_timeout,fastcgi_send_timeout和fastcgi_read_timeout参数的timeout时间,您需要修改的参数如下:

相关文章

AD域网络环境中的客户端主机无法访问阿里云内网服务,如何处理? 2025-04-01 12:01

本文介绍AD(Active Directory)域网络环境中的客户端主机,无法访问阿里云内网服务问题的问题现象、问题原因和解决方案。 问题描述 AD域网络环境中的客户端主机无法访问阿里云内网服务,例如NTP、KMS和WSUS等服务。 以无法访问阿里云内网的Windows实例更新服务器(update.

Linux实例TCP backlog缓存溢出导致无法远程连接实例 2025-04-01 12:01

说明 本文可能由社区贡献或涉及第三方产品信息,建议您访问社区或第三方产品的官方网

Linux实例UDP缓存溢出导致无法远程连接 2025-04-01 12:01

问题描述 在Linux实例内如果存在UDP缓存溢出的现象,可能会影响Linux实例的网络性能,导致实例无法远程连接。 问题原因 在/etc/sysctl.conf文件中net.ipv4.udp_mem参数的值设置过低。

Windows KMS服务状态异常如何解决? 2025-04-01 12:01

本文主要介绍Windows KMS服务状态异常的可能原因及其解决方法。 问题现象 当用户

Windows Server 2012系统的ECS实例开启ECN功能后,访问外部网站较慢或者出现TCP连接重传问题,如何处理? 2025-04-01 12:01

本文介绍在Windows Server 2012系统的ECS实例开启ECN(Explicit Congestion Notification)功能后,出现访问外部网站变慢或者TCP连接重传问题的问题描述、问题原因和解决方案。 问题描述 在Windows Server 2012系统的ECS实例上使用浏

Windows云服务器使用IE浏览器打开网站提示“增强安全配置正在阻止来自下列网站内容”如何处理? 2025-04-01 12:01

本文主要介绍在Windows云服务器上使用IE浏览器打开网站报错时对应的解决方法。 问题描述 在Windows操作系统的云服务器ECS或者轻量应用服务器中,使用IE浏览器打开网站时,提示以下报错。 Internet Explorer 增强安全配置正在

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1