我正试图让乘客上班,但我不断看到apache默认页面。我在inmotion VPS上使用centos 6.3。这是我到目前为止所做的:
将以下代码粘贴到/usr/local/apache/conf/includes/post_virtualhost_global.conf中(这会加载到httpd.conf中)
LoadModule passenger_module /home/username/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /home/username/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17
PassengerRuby /home/username/.rvm/wrappers/ruby-1.9.3-p194/ruby
<VirtualHost 123.123.123.123:80>
ServerName http://XXXXXX.inmotionhosting.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /home/username/rails/current/public
<Directory /home/username/rails/current/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
</VirtualHost>
编辑:不确定为什么这不正确格式化。它在文本编辑器中的内衬和标签很好。
有一行:
123.123.123.123 XXXXXX.inmotionhosting.com XXXXXX
我通过/etc/init.d中的sudo service httpd restart重新启动了apache。
有什么想法吗?感谢
答案 0 :(得分:2)
我偶然发现这个1岁的帖子上有类似的问题,但没有一条评论对我有用。所以我只是为那些寻求帮助的人增加2美分。
如果您看到Apache默认页面,则表示可能没有运行phusion乘客。当您启动/停止/重新启动apache服务器时,您可能已经看到一条警告消息,该服务器表示已经加载了phusion乘客模块,正在跳过。
因此,Apache已跳过您在conf文件中添加的最新LoadModule行。
然后检查apache配置文件中为错误日志设置的目录中的error.log。 (centos的httpd.conf)
在我的情况下,它抱怨它无法在PassengerRuby中设置的目录中找到监视程序。这证实装载的乘客模块不是我刚刚添加的。这可能发生了,因为我现在正在使用RVM,但是前一段时间也以root身份安装了旧版本的Passenger。所以我查看了Apache root下的config.d目录,有一个文件“passenger.conf”正在加载旧版本的Passenger。
我删除了文件,保留了新的LoadModule - 从安装apache2-module的Phusion Passenger给我的指令中复制,重新启动apache服务器,没有警告信息,并且乘客工作。