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

504 Тайм-аут шлюза, даже если для тайм-аута установлено значение 600

У меня есть следующая нерешенная проблема, касающаяся PHP и Apache. У меня есть долго работающий скрипт, который ВСЕГДА возвращает 504 Gateway Timeout после 30 секунд работы. Однако, если я зарегистрируюсь /server-process, Я вижу, что запрос все еще продолжается. Прежде чем мне предложат, я не ожидал, что это будет работа cron, так как этот длинный процесс должен завершиться менее чем за минуту, а в текущей ситуации мне нужно, чтобы он запускался внутри браузера. Вот что я установил на сервере:

/etc/apache2/apache2.conf
- Timeout 600

/etc/php/7.0/apache2/php.ini
- max_execution_time = 300
- max_input_time = 300

Вот информация о моем сервере:

root@izzystorage-core:~# lsb_release -r
Release:        16.04

root@izzystorage-core:~# apache2 -v
Server version: Apache/2.4.18 (Ubuntu)
Server built:   2017-09-18T15:09:02

root@izzystorage-core:~# php -v
PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

У вас есть идеи, что происходит с моим сервером?

редактировать

  1. У меня нет mod_proxy
  2. Это только один сервер без балансировщика нагрузки между ними.

После нескольких часов настройки Timeout, max_execution_time и max_input_time параметры и несколько service apache2 restart без результата, я возвращаю исходные параметры (600, 300, 300) и перезапускаю весь сервер с shutdown -r now. После того, как сервер вернулся в сеть, все проблемы внезапно разрешились.