在阿帕奇悬挂的phusion乘客mod_rails

时间:2011-05-12 10:04:35

标签: ruby-on-rails apache passenger mod-rails

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

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

我检查了权限,全部由apache用户拥有。

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

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

这对任何人都响了吗?所有帮助或提示调试赞赏

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

维克

1 个答案:

答案 0 :(得分: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

现在就像魅力一样。