Как отключить тайм-аут для nginx?

Я только что узнал, что пакеты OpenCSW могли бы быть другим решением. У них, кажется, есть двоичный апач, mod_perl и пакеты подверсии. Я еще не судил их, все же.

48
задан 13 April 2017 в 15:14
4 ответа

Отключить его может быть невозможно, но возможный обходной путь - увеличить время выполнения. На учебном сайте nginx было написано:

Если вы хотите увеличить лимит времени для всех сайтов на своем сервере, вы можно редактировать основной файл nginx.conf :

vim /etc/nginx/nginx.conf

Добавить следующее в http {..} раздел

http {
     fastcgi_read_timeout 300;
     proxy_read_timeout 300;
}

и перезагрузить конфигурацию nginx:

sudo service nginx reload

Я использовал довольно большое значение, которое вряд ли произойдет , то есть 999999 или с использованием единиц времени , до одного дня через 1d .

Помните, что установка значения на 0 приведет к ошибка тайм-аута шлюза немедленно.

63
ответ дан 28 November 2019 в 19:38

Возможно увеличить тайм-аут для nginx, добавить к ответу @k0pernikus, следующее может быть добавлено к Вашему блоку местоположения:

        location /xyz {
         proxy_read_timeout 1800;
         proxy_connect_timeout 1800;
         proxy_send_timeout 1800;
         send_timeout 1800;
        }

Здесь 1800 находится в секундах.

После изменения конфигурации, проверьте синтаксис с:

nginx -t -c /some/path/nginx.conf

Затем перезагрузка nginx с:

nginx -s reload
0
ответ дан 28 November 2019 в 19:38

Я боролся с ошибкой тайм-аута nginx 502 и не смог решить проблему. Однако ошибка тайм-аута была вызвана пулеметом. Так что вам также может потребоваться проверить настройки fastcgi.

Для gunicorn это:

gunicorn wsgi:application --timeout 300
5
ответ дан 28 November 2019 в 19:38

Если вы используете AWS и Load Balancer, вам следует отредактировать тайм-аут простоя. Я думаю, по умолчанию 60 секунд

9
ответ дан 28 November 2019 в 19:38

Теги

Похожие вопросы