2016-05-31 1 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 시간 초과가 적용되지 않습니다.