2016-05-31 101 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超時只是不會生效。

相關問題