Вопрос скорее теоретический.
Apache 2.2.x работает в связке с PHP 5.x. PHP стоит в качестве CGI-приложения (не модуля), ворочает большие запросы MySQL. Что вызывает получение 504 ошибки? Вот что попадает в error_log апача:
[Thu Feb 24 14:27:09 2011] [warn] [client 127.0.0.1] Timeout waiting for output from CGI script /vhosts/path-to-script
[Thu Feb 24 14:27:09 2011] [error] [client 127.0.0.1] Script timed out before returning headers: php, referer:
http://localhost/path-to-script
В лог PHP не попадает вообще ничего. Известно, что скрипт запросы к базе посылает, и на базе они выполняются (видно в SHOW PROCESSLIST).
max_execution_time равно 0, mysql.max_links = Unlimited
Примечание:
Проблема была в значении директивы TimeOut в httpd.conf - по достижении её значения апач прекращает ожидание ответа от CGI-скрипта и выкидывает 504 ошибку. Увеличили TimeOut с 30 до 120 секунд, теперь всё замечательно.
Спасибо большое всем за ответы!
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.