首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >110:连接超时(Nginx/Gunicorn)

110:连接超时(Nginx/Gunicorn)
EN

Stack Overflow用户
提问于 2011-07-25 20:36:33
回答 5查看 48.7K关注 0票数 62

我在gunicorn+nginx上运行django。我遇到了一个文件上传的问题。实际上,上传工作正常,但gunicorn超时,因此在nginx中导致了这一点:

代码语言:javascript
复制
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会议:

代码语言:javascript
复制
bind = "127.0.0.1:29000"
logfile = "/path/to/logs/gunicorn.log"
workers = 3

我尝试更改超时,但它不起作用。

EN

回答 5

Stack Overflow用户

发布于 2012-03-30 02:24:51

您可以尝试在Nginx中升级代理传递的超时,方法是添加:

代码语言:javascript
复制
proxy_connect_timeout 75s;
proxy_read_timeout 300s;

在/var/nginx/ sites available/site-config或/var/nginx/nginx.conf上,如果您想要增加nginx服务的所有站点的超时限制。

您还必须将--timeout 300添加到gunicorn进程/配置中。

这解决了我过去上传更多内容的问题。

票数 91
EN

Stack Overflow用户

发布于 2013-04-21 11:33:37

这不是nginx超时,而可能是Gunicorn超时。Gunicorn默认为30秒超时。

通常,您应该通过不使用返回时间超过30秒的端点来解决此问题,但如果它是一个很少使用的端点,您也可以只增加gunicorn超时。

如果您这样做,您可能还应该增加gunicorn工作进程的数量。

要增加gunicorn的超时时间和辅助进程,可以在启动时添加以下命令行选项:

代码语言:javascript
复制
gunicorn --timeout 120 --workers <NUMBER OF WORKER YOU WANT>
票数 43
EN

Stack Overflow用户

发布于 2014-06-19 19:50:06

我们使用Django+nginx+gunicorn也遇到了同样的问题。在Gunicorn文档中,我们配置了优雅的超时,几乎没有区别。

经过一些测试,我们找到了解决方案,要配置的参数是: timeout (而不是优雅的超时)。它的工作原理就像一个时钟..

因此,请执行以下操作:

1)打开gunicorn配置文件

2)将超时设置为您需要的值-该值以秒为单位

代码语言:javascript
复制
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=$PIDFILE
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6816215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档