【问题标题】:nginx 504 gateway timeout [closed]nginx 504网关超时[关闭]
【发布时间】:2013-02-13 06:57:27
【问题描述】:

我尝试了以下建议:

How do I prevent a Gateway Timeout with FastCGI on Nginx

nginx.conf(http 部分 {} 内)

#prevent gateway timeout
client_header_timeout 1000000;
client_body_timeout 1000000;
send_timeout 1000000;
fastcgi_read_timeout 1000000;

但大约 60 秒后,我收到错误 504 网关超时。我们在 apache 前面有 nginxx,所以我不确定 apache 是否导致错误,但我们得到一个 504 网关超时,这显然来自 nginx

【问题讨论】:

  • 您还需要增加keepalive_timeout

标签: nginx gateway


【解决方案1】:

definition of the 504 HTTP response code 说:“服务器充当网关或代理,没有收到来自上游服务器的及时响应。”因此,首先处理后端服务器的问题是有意义的。

您应该检查直接向后端服务器发出请求时会发生什么。需要多长时间回复?

请注意,使用 Apache,您可以配置日志以包含处理请求所花费的时间。请参阅 mod_log_config%t%T 选项。

如果 Nginx 可以访问后端服务器,那么你也可以从命令行访问。以下是执行请求和计时请求的示例语法:

time -p GET -H 'Host: publicname.com'  http://127.0.0.1:8080/path/to/request

“GET”工具是类似 Ubuntu 的 Linux 发行版上可用的 libwww-perl 软件包的一部分。通过发送“Host:”标头,您正在生成一个请求,就像 Nginx 一样。

【讨论】:

  • 我无法直接访问服务器,因为如果您使用端口号,wordpress 将无法工作。但是我们在服务器上有另一个站点,我可以使用端口号访问它并且它永远不会超时。只有在使用 NGINX 时才会超时。
  • 我更新了我的答案,详细说明了如何以 Nginx 发出的相同方式模拟请求。
猜你喜欢
  • 2011-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-08
  • 2011-10-04
  • 2019-10-22
  • 2019-12-02
相关资源
最近更新 更多