У меня периодически возникает ошибка в моем приложении Ruby, и я пытаюсь выяснить контекст. Я запускаю mod_passenger на Apache (на Dreamhost, если это важно).
Я получаю следующую ошибку:
[ pid=12404 file=ext/apache2/Hooks.cpp:727 time=2012-04-30 02:59:02.949 ]:
Unexpected error in mod_passenger: Could not send data to the ApplicationPool server: write() failed: Bad file descriptor (9)
Backtrace:
in 'virtual boost::shared_ptr<Passenger::Application::Session> Passenger::ApplicationPoolServer::Client::get(const Passenger::PoolOptions&)' (ApplicationPoolServer.h:402)
in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:523)
(Вот откуда я знаю, что использую mod_passenger.) Я попытался сделать gem list | grep passenger
, но это ничего не помогло. Я вижу модуль в /dh/apache2/template/lib/modules
, Просто не знаю, как узнать, какая версия.
После запуска Apache просмотрите журналы ошибок Apache. Должна быть такая строка:
[Sun Apr 29 06:57:07 2012] [notice] Apache/2.2.14 (Ubuntu) Phusion_Passenger/3.0.11 mod_ssl/2.2.14 OpenSSL/0.9.8k configured -- resuming normal operations
То, что он говорит, зависит от вашей установки Apache, но он должен сказать вам, по крайней мере, какая версия Passenger у вас установлена. Как видите, в моем случае это 3.0.11.