我如何检查我正在运行的 mod_passenger 的版本?

我如何检查我正在运行的 mod_passenger 的版本?

我的 Ruby 应用程序遇到了间歇性错误,我正在尝试找出原因。我正在 Apache 上运行 mod_passenger(如果重要的话,在 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,但我不知道如何确定版本。

答案1

启动 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。

相关内容