504 Gateway Time out
504 Gateway Time-out
504 — означает что скрипт (бэкенд apache при связке nginx+apache) слишком долго отвечал или скрипт завершается ранее, чем получен ответ.
Это может быть по разным причинам:
- объем данных, обрабатываемых скриптом существенно вырос
- скрипт ображается к другим сайтам или сервисам, которые долго фомрируют ответ
- скрипт слишком тяжелый
Если возникла ошибка 504 Gateway Timeout (time out) в связке nginx+apache то увеличим на сервере допустимое время выполнения скриптов и ожидания ответа:
php.ini:
max_execution_time = 900
nginx.conf:
proxy_read_timeout 900; client_header_timeout 10m; client_body_timeout 10m; send_timeout 10m;
Теперь есть 900 секунд (15 минут) на выполнение скриптов.
Также:
worker_processes 2; количество worker-ов, обычно один.
keepalive_timeout 400; (было 100)
Крайне не рекомендуем увеличивать таймауты, так как это значительно повысит нагрузку на сервер
Лучше всего найти причину долгого ответа самого скрипта, чем увеличивать таймауты веб-сервера!