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

Тайм-аут PHP-шлюза

Мне нужно увеличить время выполнения PHP и все остальное, что может быть проблемой. Я думал, что уже сделал это, но я все еще получаю таймауты шлюза из моей недавней установки WordPress. Пул php-fpm имеет следующую конфигурацию

[john]
user = john
group = john

listen = 127.0.0.1:9002
listen.owner = www
listen.group = www

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

php_admin_value[max_execution_time] = 300
php_admin_value[max_input_time] = 120

Синтаксис в порядке, но время ожидания сценариев составляет около 30 секунд, и мне интересно, что еще я пропустил. Это может быть излишним, но я тороплюсь и узнаю позже, не стесняйтесь объяснять, но если бы кто-то мог сказать мне все ценности, которые я мог бы увеличить, чтобы решить эту проблему грубой силой и решить ее, это было бы здорово.

Я бы начал с установки максимального времени ввода и выполнения вручную в вашем php.ini вместо того, чтобы пытаться переопределить какие-либо настройки на php-fpm или nginx.

В /etc/php5/fpm/pool.d/www.conf добавьте эту строку:

request_terminate_timeout = 180

Кроме того, в / etc / nginx / sites-available / default добавьте следующую строку в блок местоположения рассматриваемого сервера:

fastcgi_read_timeout 180;

Весь блок локации выглядит так:

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_read_timeout 180;
    include fastcgi_params;
}

Теперь просто перезапустите php-fpm и nginx, и больше не должно быть тайм-аутов для запросов, занимающих менее 180 секунд.