2013-02-27 154 views
2

我试过建议在:nginx的504网关超时

How do I prevent a Gateway Timeout with FastCGI on Nginx

nginx.conf

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

(内部HTTP部分{}),但约60秒后,我得到一个错误504网关超时。我们nginxx在阿帕奇的面前,所以我不知道如果Apache导致错误,但我们得到了一个504网关超时,明确从nginx的

回答

6

definition of the 504 HTTP response code说:“服务器作为网关或代理并没有得到上游服务器的及时响应。“所以,从后端服务器处理这个问题开始是有道理的。

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

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

如果Nginx可以访问后端服务器,那么你可以从命令行。下面是一个例子语法来执行和时间要求:

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

“获取”工具是在Ubuntu般的Linux发行版的libwww-perl包的一部分。通过发送一个“Host:”头,你就像Nginx一样产生一个请求。

+0

我无法直接访问服务器,因为如果您使用端口号,wordpress无法工作。但是我们可以使用端口号访问服务器上的另一个站点,并且它永不超时。只有在使用NGINX时才会超时。 – 2013-02-27 16:44:31

+2

我更新了我的答案,详细说明了如何在Nginx制作的同一个mannner中模拟请求。 – 2013-02-27 19:40:06