错误 504 网关超时

错误 504 网关超时

我想知道错误 504 网关超时是否总是来自负载平衡器,或者它也可能源自 Apache 及其正在运行的 PHP 代码?

谢谢

答案1

这通常发生在负载均衡器等待 apache 的响应,而 apache 没有在负载均衡器的超时期限内给出响应时。因此它返回 504 网关超时。关于导致 apache 没有响应的原因只有您自己才能说清楚,因为您没有提供太多有关 apache 所提供服务的背景信息。查看 apache 日志以了解更多详细信息。通常是访问日志和错误日志。增加负载均衡器的超时值,看看是否有帮助。在 apache 上进行集群总是好的,这样您就不会因为 apache 实例死亡而得到 504。我认为 mod_proxy 允许您实现软件集群。我不确定在 apache 网站上查看。

答案2

通常是由于 Apache(mod_php)或 PHP(FastCGI)关闭或繁忙而导致的平衡。

答案3

当然可以来自 php。如果 php 脚本处于某种循环中并且不会“吐出”内容连接最终将超时,并且平衡器将报告网关超时。

那个“循环”不一定需要是循环,它可以等待连接某些服务来从 mysql/memcache 等读取数据...

相关内容