504 ошибка но скрипт выполняется

vanderv

Старатель
Регистрация
30 Май 2009
Сообщения
270
Реакции
12
По сабжу. Переношу базу на новый лад. Данных много, поэтому скрипт выполняется долго. На локалке скрипт выполняется около 10 мин.
Поставил на рабочий сервер. Увеличил максимальное время в php.ini. Запускаю... не проходит и минуты выскакивает 504 ошибка. Смотрю а записи добавляются. В итоге вся база перенеслась. Что это может быть?
 
  • Заблокирован
  • #2
Я конечно ламер в серверных делах, но мне кажется что апаче честно выдал 504 ошибку после того, как максимальное время ответа от сервера, настроенное в нём(в апаче) было достигнуто. Скрипт же продолжил выполняться наверно потому, что php используется в качестве cgi, а не modphp и апач его не завершил.
P.S.: Сам не понял что сказал.
 
Я конечно ламер в серверных делах, но мне кажется что апаче честно выдал 504 ошибку после того, как максимальное время ответа от сервера, настроенное в нём было достигнуто. Скрипт же продолжил выполняться наверно потому, что php используется в качестве cgi.
Да но почему тогда сервер через phpinfo() очень честно показывает max_execution_time = 3000
 
  • Заблокирован
  • #4
Да но почему сервер через php_info очень честно показывает max_execution_time = 3000
это максимальное время выполнения скрипта, а не максимальное время ожидания ответа апача от php. По-моему апач просто не стал жждать ответа от php, так как в нём как я уже сказал указано ждать меньшеб чем 3000 секунд. скорее всего стандартные 30 секунд. Сервак-то вообще апач?
 
это максимальное время выполнения скрипта, а не максимальное время ожидания ответа апача от php. По-моему апач просто не стал жждать ответа от php, так как в нём как я уже сказал указано ждать меньшеб чем 3000 секунд. скорее всего стандартные 30 секунд. Сервак-то вообще апач?
Я без понятия. Админ прописал и сказал отвалите это у вас там со скриптом проблемы. Заказчик на меня волком смотрит.
С какими настройками мне поиграть что бы снять эту проблему?
 
  • Заблокирован
  • #6
Для просмотра ссылки Войди или Зарегистрируйся надыбал К слову, если php запущен в режиме FCGI, то и апач может недождаться ответа от него, и уже отвалиться по своему keepalive_timeout.
 
  • Заблокирован
  • #7
Я конечно ламер в серверных делах....
P.S.: Сам не понял что сказал.


этого должно было хватить

Проблема в том что у вас перед апачем стоит nginx, который при истечении своего таймаута выдает вам 504 ошибку и закрывает соединение, а apache честно продолжает трудится.
Вариантов решения несколько
прописать больший таймаут для nginx параметр называется keepalive_timeout обычно в пределах одной минуты конфиг nginx обычно лежит тут /etc/nginx
либо обращаться на прямую к апачу если он все же смотрит в интернет, обычно его перевешывают на 81, 85, 8080.
 
прописать больший таймаут для nginx параметр называется keepalive_timeout
А чем чревато большое увеличение?
 
  • Заблокирован
  • #9
А чем чревато большое увеличение?
Процесс nginx а будте долже жить и ждать ответ от апача, черевато тем же чем черевато прописывать огромные время исполнения для апача.
При наличии какого то узкого места можно будет произвести атаку и все положить, но если вам нужно залить базу и все, то прописывайте не боясь, а после заливки вернете назад
 
Назад
Сверху