2016-05-31 100 views
0

堆栈使用:如何增加上游uWSGI服务器的nginx超时?

的Nginx - > Uwsgi(代理传递) - >的Django

我有需要aroundn 80秒,执行查询的API。 Nginx在60秒后关闭与上游服务器的连接。这发现在nginx错误日志中:

upstream prematurely closed connection while reading response header from upstream 

uWSGI和django应用程序日志不显示任何奇怪的东西。

这是我的nginx的配置:

server { 
    listen 80; 
    server_name xxxx; 
    client_max_body_size 10M; 

    location/{ 
     include   uwsgi_params; 
    proxy_pass http://127.0.0.1:8000; 
    proxy_connect_timeout 10m; 
    proxy_send_timeout 10m; 
    proxy_read_timeout 10m; 
    proxy_buffer_size 64k; 
    proxy_buffers  16 32k; 
    proxy_busy_buffers_size 64k; 
    proxy_temp_file_write_size 64k; 
    proxy_pass_header Set-Cookie; 
    proxy_redirect  off; 
    proxy_hide_header Vary; 
    proxy_set_header Accept-Encoding ''; 
    proxy_ignore_headers Cache-Control Expires; 
    proxy_set_header Referer $http_referer; 
    proxy_set_header Host $host; 
    proxy_set_header Cookie $http_cookie; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-Host $host; 
    proxy_set_header X-Forwarded-Server $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

我如何增加超时,我试图设置proxy_pass超时变量,但他们并没有看起来工作。

回答

1

好了,管理与uwsgi_pass

这是我的nginx的conf现在看起来如何更换proxy_pass来解决这个问题:

server { 
    listen 80; 
    server_name xxxxx; 
    client_max_body_size 4G; 

    location /static/ { 
     alias /home/rmn/workspace/mf-analytics/public/; 
    } 

    location/{ 
     include uwsgi_params; 
     uwsgi_pass unix:/tmp/uwsgi_web.sock; 
     uwsgi_read_timeout 600; 
    } 
} 

我不得不设置socket参数在我uwsgi ini文件。

由于某些原因,proxy_pass超时只是不会生效。

相关问题