URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7127
[ Назад ]

Исходное сообщение
"Ошибка 504 Gateway Time-out., как избавиться"

Отправлено svfolder , 25-Янв-11 10:36 
Доброго времени суток всем форумчанам.

Столкнулся с такой проблемой, заказал VPS, запустил на нем проект, все вроде работает, но вот одну проблемку победить непонятно как.

Весь проект был перенесен с другого VDS где все прекрасно работало.

После вызова скрипта импорта данных в Mysql из XML файла ровно через минуту в браузере появляется ошибка 504 Gateway Time-out.

Первоначально выставил max_execution_time = 600 сек,
в самом php скрипте прописано set_time_limit(0),
в конфиге nginx прописал keepalive_timeout = 600

Сервер перезагрузил, результат тот же.

Захожу по SSH, ввожу top, вижу что сервер спит, запускаю скрипт, вижу что MySQL пашет и при инсертах грузит сервер на ~70%, через минуту в браузере появляется 504 ошибка, но по SSH вижу что обработка запросов идет еще порядка 1-2 минут, то есть сам скрипт работает.
В логах мускула пусто, в логах апача тоже нет никаких проблем.

К сожалению на этом мои познания в юникс закончились так как не мое это немного, я php программист.

Прошу помощи.

Заранее благодарю!


Содержание

Сообщения в этом обсуждении
"Ошибка 504 Gateway Time-out., как избавиться"
Отправлено mef , 25-Янв-11 12:00 
Попробуй без nginx напрямую через apache обращаться. Если проблемы остались, то пробуй запускать скрипт из командной строки
php скрипт.php

После этого начинай копать в нужную сторону.
P.S. Вообще такие скрипты принято делать через ajax.

"Ошибка 504 Gateway Time-out., как избавиться"
Отправлено svfolder , 25-Янв-11 12:43 
> Попробуй без nginx напрямую через apache обращаться. Если проблемы остались, то пробуй
> запускать скрипт из командной строки
php скрипт.php

> После этого начинай копать в нужную сторону.
> P.S. Вообще такие скрипты принято делать через ajax.
> Попробуй без nginx напрямую через apache обращаться

Это как...?


> P.S. Вообще такие скрипты принято делать через ajax.

Скрипт вызывается на стороне клиента из 1С и загрузку данных 1С делает по FTP а потом http запросом вызывает обработку импорта.

какой смысл в попытке запуска в командной строке, если и так известно что он отрабатывает до конца и без ошибок...