nginx 504网关超时

时间:2013-02-27 12:51:15

标签: nginx gateway

我尝试了以下建议:

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

1 个答案:

答案 0 :(得分:8)

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那样。