2016-05-31 6 views
0

スタック:アップストリームuWSGIサーバのnginxタイムアウトを増やす方法はありますか?使用

nginxの - > Uwsgi(プロキシが渡される) - >ジャンゴ

私はクエリを実行するために80秒aroundnかかる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を置き換えることで、この問題を解決するために管理:私は私のuwsgi iniファイルにsocketパラメータを設定する必要がありました

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; 
    } 
} 

そして、 。

何らかの理由で、proxy_passタイムアウトが有効にならないだけです。

関連する問題