我在gunicorn+nginx上运行django。我遇到了一个文件上传的问题。实际上,上传工作正常,但gunicorn超时,因此在nginx中导致了这一点:
2011/07/25 12:13:47 [error] 15169#0: *2317 upstream timed out (110: Connection timed out) while reading response header from upstream, client: IP-ADDRESS, server: SERVER, request: "GET /photos/events/event/25 HTTP/1.1", upstream: "http://127.0.0.1:29000/photos/events/event/25", host: "HOST", referrer: "REFERER_ADDRESS"如果我刷新页面,我可以看到所有的照片都上传得很好。问题是它会导致超时,从而给人一种上传不起作用的印象。
这是我的gunicorn会议:
bind = "127.0.0.1:29000"
logfile = "/path/to/logs/gunicorn.log"
workers = 3我尝试更改超时,但它不起作用。
发布于 2012-03-30 02:24:51
您可以尝试在Nginx中升级代理传递的超时,方法是添加:
proxy_connect_timeout 75s;
proxy_read_timeout 300s;在/var/nginx/ sites available/site-config或/var/nginx/nginx.conf上,如果您想要增加nginx服务的所有站点的超时限制。
您还必须将--timeout 300添加到gunicorn进程/配置中。
这解决了我过去上传更多内容的问题。
发布于 2013-04-21 11:33:37
这不是nginx超时,而可能是Gunicorn超时。Gunicorn默认为30秒超时。
通常,您应该通过不使用返回时间超过30秒的端点来解决此问题,但如果它是一个很少使用的端点,您也可以只增加gunicorn超时。
如果您这样做,您可能还应该增加gunicorn工作进程的数量。
要增加gunicorn的超时时间和辅助进程,可以在启动时添加以下命令行选项:
gunicorn --timeout 120 --workers <NUMBER OF WORKER YOU WANT>发布于 2014-06-19 19:50:06
我们使用Django+nginx+gunicorn也遇到了同样的问题。在Gunicorn文档中,我们配置了优雅的超时,几乎没有区别。
经过一些测试,我们找到了解决方案,要配置的参数是: timeout (而不是优雅的超时)。它的工作原理就像一个时钟..
因此,请执行以下操作:
1)打开gunicorn配置文件
2)将超时设置为您需要的值-该值以秒为单位
NUM_WORKERS=3
TIMEOUT=120
exec gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--timeout $TIMEOUT \
--log-level=debug \
--bind=127.0.0.1:9000 \
--pid=$PIDFILEhttps://stackoverflow.com/questions/6816215
复制相似问题