NGinx — upstream timed out (110: Connection timed out)

Периодчески при запуске в кроне PHP скриптов они отваливаются, а в логах NGinx-а появляется:

2016/10/09 13:31:28 [error] 1884#0: *137995 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 8.8.8.8, server: example.com, request: "GET /modules/blocklayered/blocklayered-url-indexer.php?token=96f7805987&truncate=1&ajax=1 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "example.com", referrer: "http://example.com/admin-example/index.php?controller=AdminModules&token=fc8f4cfdc6e7d73a592d5c8aa6b1eeae&configure=blocklayered&tab_module=front_office_features&module_name=blocklayered"

Дело в том, что по умолчанию таймаут ответа составляет 60 секунд
Решением будет увеличения этого значения. Делается это с помощью модуля proxy_read_timeout
Для этого добавляем следующее значение:

location ~ \.php$ {
     ....
     proxy_read_timeout 300s;
     .....
     }

Теперь сервер будет ожидать ответа не 60, а 300 секунд. Значение подбирайте эксперементальным путём.
Проверяем и применяем настройки

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@protimes:~# nginx -s reload

Добавить комментарий