当前位置: 首页 > 知识库问答 >
问题:

nginx php fpm和ubuntu出现随机502网关错误

凌成天
2023-03-14

我有一个问题,随机502网关错误使用nginx和php-fpm。在我的案例中,我发现了一个场景,其中各种php.inierror_log设置和error_reporting级别导致随机502网关错误出现。

通过改变php。ini设置错误报告和错误日志我能够使502网关错误消失,但更重要的是,我能够看到日志中真正的php错误并修复它们。

主要的问题是,如果“error\u reporting设置为display notices”,error\u logging=On,那么我需要确保error\u log设置为有效路径,并且可以写入服务器。

// !!! 502 Gateway Error (unhappy server)
error_reporting = E_ALL & E_NOTICE
; error_log = php_errors.log (note this is commented)

// Happy Server, no 502 gateway error
error_reporting = E_ALL & E_NOTICE
error_log = /valid/log/path/and/permissions

// Happy Server, no 502 gateway error
error_reporting = E_CORE_ERROR
; error_log = php_errors.log (note this is commented)

请注意,实际错误是php通知...然而,ngingx为与未设置属性相关的php通知抛出了502个网关错误。

还要注意的是,并非每个php通知都会触发502网关错误。

希望这能帮别人省去一些挫折!

共有3个答案

南宫鸿晖
2023-03-14

我有一个类似的问题,通过禁用PHP警告来解决,但是,我认为这个问题与错误日志使用的缓冲区的NGINX配置有关。该错误仅在一定数量的警告消息排队后触发,并且似乎是可以预测的可重复的;但是我无法弄清楚涉及到什么设置,所以在我能够解决被破坏的设置之前关闭警告。

张高义
2023-03-14

我在运行iis和php的windows机器上以fastCGI模式遇到过这个问题,所以这不仅仅是一个nix问题。

罪魁祸首也是php日志。您不必将其设置为静态目录,尽管如果您授予适当的权限,它可以写入脚本所在的同一目录。(可以是非常有帮助的,如果你有一个大型和复杂的网站)

我的服务器是这样设置的,我只是添加了一个规则,不向公众提供错误日志。

总之,请检查权限!=)

曹高阳
2023-03-14

Nginx中的502网关错误是由php fpm没有足够的进程和/或超时引起的。日志只会告诉您问题是什么,而不是502错误的原因。

我在25台服务器上使用stunnel haproxy nginx php fpm。pfp fpm中的默认值非常低,即使对于中等繁忙的服务器也是如此。配置fpm子进程的方式与使用apache mod_php的方式大致相同。

我使用以下方法:

pm.max_children = 250
pm.start_servers = 20
pm.min_spare_servers =10
pm.max_spare_servers = 20
pm.max_requests = 1500

这是一个具有2GB ram的服务器。它每天提供20-30GB的流量,无需502

 类似资料:
  • 我将此设置用于nginx(默认文件): 当我尝试访问30425时,我得到了502坏网关。所有其他设置都是默认设置(PHP7)。

  • 我真的希望你们能帮我。我在设置ssl的不同指南中迷失了方向。 当我尝试访问我的站点时,我只得到了。普通的老nginx工作得很好,没有强制ssl的“简单”ssl也工作得很好。 这是我的配置文件。 default.conf letsencrypt.conf ssl。形态

  • 我使用代理集成的api网关公开了多个lambda。我时不时会收到状态代码502的奇怪错误。lambda cloud watch日志中没有任何内容。下面我发布了示例请求的api网关日志: 基本上,api网关似乎无法到达lambda,对lambda的调用正在返回: 还有其他人遇到过这些问题吗?从我的角度来看,唯一可能的修复方法是编写重试机制,但从我的角度来看,我缺少一些配置,或者是AWS故障,他们应该

  • 单击上面显示的网关的实例URL,我会得到以下错误: 502坏网关:注册的endpoint无法处理请求 相应的登录网关如下所示: 有人能提供建议或意见吗? 多谢!

  • 配置 Ubuntu服务器11.10 64位 亚马逊AWS,Ec2,云端托管 t1。微实例 在我写任何其他东西之前,我想声明我已经检查了nginx 502坏网关和nginx PHP-FPM 502坏网关线程,不幸的是,这在这方面对我没有帮助。 这个问题似乎很常见:nginx或php fpm的错误配置可能导致错误,这是我一直无法解决的问题。请注意,即使在我转到我的域根目录时,也会出现这种情况,而不指定

  • 问题内容: 我们正在Tomcat 6和Apache mod_proxy 2.2.3上运行一个Web应用程序。看到很多502错误,如下所示: 错误的网关!代理服务器从上游服务器收到无效响应。 代理服务器无法处理GET /the/page.do请求。 原因:从远程服务器读取错误 如果您认为这是服务器错误,请与网站管理员联系。 错误502 Tomcat具有大量线程,因此不受线程限制。我们正在通过JMet