Назад | Перейти на главную страницу

Тайм-аут шлюза Django Gunicorn-Nginx 504

Я прочитал много статей о gunicorn & nginx конфиги таймаута.

На моем веб-сайте есть несколько запросов, которые занимают больше 30 секунд. Я все поменял gunicorn таймауты до 3 секунд, но все равно получаются

Ошибка 504 Время ответа сервера истекло

ошибка через 30 секунд.

Файл конфигурации Gunicorn:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=user
Group=www-data
WorkingDirectory=/home/user/Lav/project
ExecStart=/home/user/LavEnv/project/bin/gunicorn --access-logfile - --workers 3 --keep-alive 3 --timeout 3 --graceful-timeout 3 --bind unix:/home/user/Lav/project/project.socket project.wsgi:application

[Install]
WantedBy=multi-user.target

Файл конфигурации Nginx:

server {
    listen 80;
    server_name 178.63.217.47;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root project_root;
    }
    location /media/ {
        root project_root;
    }
    location /files/ {
        root project_root;
    }


    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_connect_timeout   300;
        proxy_send_timeout      300;
        proxy_read_timeout      300;
        include         uwsgi_params;
        proxy_pass      http://unix:/project_root/StoreManager.socket;
    }
}

Таймауты работают хорошо, когда я запускаю веб-сайт непосредственно из gunicorn (--bind 0.0.0.0:8000), эта проблема возникает с nginx-gunicorn.

Как я могу установить для тайм-аута значение более 30 секунд?