2

我试图让乘客工作,但我一直看到 apache 默认页面。我在 Inmotion VPS 上使用 centos 6.3。这是我到目前为止所做的:

  1. 宝石安装乘客。
  2. rvmsudo 乘客安装 apache2 模块
  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>

    编辑:不知道为什么这不是正确的格式。它在文本编辑器中的衬里和标签很好。

  4. 在 etc/hosts 中有一行:

    123.123.123.123 XXXXXX.inmotionhosting.com XXXXXX

  5. 我通过 /etc/init.d 中的 sudo service httpd restart 重新启动了 apache

  6. 仍然显示 apache 默认页面

有任何想法吗?谢谢

4

1 回答 1

2

我偶然发现了这篇 1 年前的帖子,有类似的问题,但没有一条评论对我有用。所以我只是为那些正在寻求帮助的人添加我的 2 美分。

如果您看到 Apache 默认页面,这意味着 phusion 乘客可能没有运行。当您启动/停止/重新启动 apache 服务器时,您可能会看到一条警告消息,提示 phusion 乘客模块已加载,正在跳过。

因此,Apache 跳过了您在 conf 文件中添加的最新 LoadModule 行。

然后检查在 apache 配置文件中为错误日志设置的目录中的 error.log。(centos 的 httpd.conf)

就我而言,它抱怨在PassengerRuby 中设置的目录中找不到看门狗。这确认加载的乘客模块不是我刚刚添加的。这可能是因为我现在使用的是 RVM,但不久前还以 root 身份安装了旧版本的 Passenger。于是我查看了Apache根目录下的config.d目录,有一个文件“passenger.conf”正在加载旧版本的Passenger。

我删除了文件,保持新的 LoadModule 原样 - 从安装 apache2-module 时 Phusion Passenger 给我的指令复制,重新启动 apache 服务器,没有警告消息,乘客工作。

于 2013-07-28T06:51:43.703 回答