我在Apache上安装和使用mod_rails方面有相当多的经验;几年来,它在我的Mac上一直是一个很好用的开发环境。我刚刚升级到新的MacBook Air,我试图在没有运气的情况下在新机器上复制我的环境。以下是我遵循的步骤:
使用LoadModule和其他配置命令配置httpd.conf:
LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-3.0.2/ext/apache2/mod_passenger.so PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-3.0.2 PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
我在我的机器上的自定义域中将我的Rails应用程序设置在名为rails.conf的文件中。例如,我的一个当前网站配置如下:
<VirtualHost *>
ServerName monkey.dev
DocumentRoot /Users/aaron/Sites/monkey/public
<Directory /Users/aaron/Sites/monkey/public>
AllowOverride all
Options -MultiViews
</Directory>
RailsEnv development
</Virtualhost>
在/ etc / hosts中,我将域配置为在localhost上进行响应:
127.0.0.1 monkey.dev
所以一切都应该有效。但是当我加载monkey.dev时,我只获得了我的站点根目录列表。这就好像Apache的工作正常(它是),但Passenger根本没有踢。我也找不到来自它的错误消息,除了看起来不完全相关的东西:
[Mon Jan 03 09:33:14 2011] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
mod_bonjour: Skipping user 'aaron' - cannot read index file '/Users/aaron/Sites/index.html'.
我真的很茫然。 Mongrel工作得很好,所以我顺便过来了。但我喜欢乘客在这里跑的便利,所以我想深究这一点。有什么建议吗?
更新:我找到了一种方法来提高Passenger的日志级别,以便提供更多的数据。将日志级别设置为max(3)后,我在启动服务器后立即执行此操作:
[ pid=2841 thr=0x7fff70dbfca0 file=ext/common/Watchdog.cpp:860 time=2011-01-03 10:39:48.27 ]: All Phusion Passenger agent processes have exited.
我一直在四处寻找暗示这意味着什么,但什么都没有出现。我也有乘客身份:
----------- General information -----------
max = 6
count = 0
active = 0
inactive = 0
Waiting on global queue: 0
----------- Application groups ---------
它并没有从事物的外表中剔除。希望这会有所帮助。
谢谢! 亚伦。
答案 0 :(得分:1)
知道了!事实证明,这根本不是乘客的问题。相反,它是我在Apache中的虚拟主机配置。所以,呃,没关系!
答案 1 :(得分:0)
你做完了吗?
sudo apachectl restart