2

我运行 Apache 2.2.3 和乘客 3.0.7(在史前 SLES11 linux 上)。当请求通过乘客时,它会产生应用程序进程,但随后会永远挂起,就好像没有应用程序可以启动一样。

我使用简单的 hello world rack 应用程序以及新创建的 rails 3 应用程序框架进行了测试。这些应用程序在 webrick 上以生产模式出现,因此没有应用程序内部问题。

我检查了权限,全部归 apache 用户所有。

乘客记录到它产生了进程的 apache,但请求 url 甚至没有进入 apache 的访问日志,并且应用程序日志也是空的。乘客说跟踪显示应用程序在启动期间冻结,但我什至没有发现它们到达 config.ru 的痕迹。这一切都向我表明,挂起的是乘客生成器。

这太神秘了,不会是因为一些奇怪的apache配置导致生成的进程没有获取资源吗?

这会给任何人敲响警钟吗?所有帮助或调试提示都表示赞赏

我在 phusion google group 上提出了这个问题,但没有找到解决办法。 https://groups.google.com/forum/#!topic/phusion-passenger/GlQIBNTyF6A

维克

4

1 回答 1

0

我在使用 Nginx 1.0.15、Passenger 3.0.12、Rails 2.3.14 和 Bundler 1.1.3 时遇到了同样的问题。Nginx 可以正常启动,然后Passenger 会尝试生成一个应用程序,然后什么也没有。没有例外或任何东西,只是试图生成应用程序的无限循环。

将 config.ru 添加到应用程序可以立即解决问题!对于 Rails 2.3,它应该如下所示:

require "config/environment"

use Rails::Rack::LogTailer
use Rails::Rack::Static
run ActionController::Dispatcher.new

现在就像一个魅力。

于 2012-05-09T15:01:14.123 回答