2015-07-29 4 views
2

У меня есть сервер Django с Gunicorn, и перед этим у меня есть nginx. Я обслуживаю статические файлы непосредственно из nginx и передаю другие вещи до Gunicorn.nginx: увеличить таймаут для предотвращения ошибки 404?

У меня есть медленные обратные запросы, и я нахожу, что nginx довольно часто сбрасывает время до их возвращения - поэтому я вижу страницу 404.

Есть ли способ увеличить уровень таймаута?

Это мой Nginx конф файл:

server { 
    listen 443; 
    client_max_body_size 4G; 
    access_log /webapps/myapp/logs/nginx-access.log; 
    error_log /webapps/myapp/logs/nginx-error.log; 
    location /media/ { 
     alias /webapps/myapp/myapp/media/; 
    } 
    location/{ 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto https; 
     proxy_set_header Host $http_host; 
     proxy_redirect off; 
     if (!-f $request_filename) { 
      proxy_pass http://hello_app_server; 
      break; 
     } 
    } 

Я думаю, что, возможно, мне нужно proxy_read_timeout, но я не уверен, что из документации.

ответ

4

Попробуйте

proxy_read_timeout 120s;

Поместите это в свою прокси-секцию.

По умолчанию, по-видимому, 60 секунд, поэтому попробуйте удвоить и перейти оттуда.

Не слишком уверен в этом, но у меня было что-то подобное с тайм-аутом в mysql сегодня на сервере на работе и удвоении, которое сработало. Стоит попробовать и надеяться, что это поможет.

Смежные вопросы