Как я могу отключить тайм-аут nginx при доступе через определенный порт или просто указанную папку. Что проще.
В основном у меня есть сценарии, которые нужно выполнять в течение длительного периода времени, и тайм-аут шлюза не позволяет им завершить работу.
Обычно, если у вас есть скрипты, которым нужно больше времени, есть несколько решений.
Вы можете увеличить fastcgi_read_timeout
и reqest_terminate_timeout
. Но проблема в том, что не следует устанавливать слишком высокое значение. Если у вас есть много процессов, которые блокируют друг друга, они открыты в течение длительного времени, и возможно, что ваш сервер больше не может доставлять ваш контент.
Я предпочитаю не выполнять долго выполняющиеся скрипты на вашем веб-сервере. Используйте командную строку и запустите свой сценарий, например, с помощью cron. Обычно веб-сервер - не очень хороший способ выполнять длительные скрипты.
У меня была такая же проблема до того, как через несколько месяцев мы перешли на php-cgi, и у меня был скрипт, который работал поверх wget. Я изменил скрипт, который он запускал с помощью интерфейса командной строки.
Здесь задействованы две директивы, одна для nginx fastcgi_read_timeout
как описано Вот, другой находится в php-fpm.conf reqest_terminate_timeout
, вы можете установить значение 0, чтобы отключить тайм-аут.
На nginx установлен fastcgi_read_timeout
на любое произвольное большое значение, как указано в моей первой ссылке, вы можете установить это внутри любого конкретного location
.