Rails应用程序无法使用Apache + Passenger

时间:2013-02-06 12:33:54

标签: ruby-on-rails ruby apache passenger

我正在尝试在新的虚拟机上托管rails2应用程序,该虚拟机是带有Parallels Plesk Panel 11(64位)的CentOS 6。 我已经使用here

给出的步骤成功安装了RVM,ruby,rails和passanger

我已正确执行了所有步骤。 我已经安装了 ruby​​ 1.8.7 rails 2.0.2

现在问题是,我能够在新服务器上使用3000端口的Webrick服务器运行应用程序。一切都很好。但是,当我想用​​apache运行它时,它不会运行。当我点击网址时它返回页面

  

未找到

     

在此服务器上找不到请求的网址/帐户/登录信息。阿帕奇   服务器在www.mem.com端口80

这是我的passanger.conf文件:

  

/etc/httpd/conf.d/passenger.conf

    LoadModule passenger_module /usr/local/rvm/gems/ruby-1.8.7-p371/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/rvm/gems/ruby-1.8.7-p371/gems/passenger-3.0.19
   PassengerRuby /usr/local/rvm/wrappers/ruby-1.8.7-p371/ruby

这是我的虚拟主机代码:

  

/etc/httpd/sites-available/mem.conf

    <VirtualHost *:80>
 ServerAdmin youremail@example.com
 DocumentRoot /var/www/mem/public
 ServerName www.mem.com
 ErrorLog /var/log/httpd/mem/error.log
 CustomLog /var/log/httpd/mem/access.log common
</VirtualHost>

任何建议都将不胜感激。

6 个答案:

答案 0 :(得分:1)

问题已经解决。已经由Web托管公司创建了具有不同Document Root的虚拟主机。我将我的app目录移动到该路径并启动了应用程序。感谢大家的建议。

答案 1 :(得分:1)

如果您设法将DocumentRoot设置为错误或不存在的目录,也可能会看到此问题。如果你无法解决这个问题,请仔细检查它是否存在。

答案 2 :(得分:0)

尝试在VirtualHost中添加此目录块

<Directory /var/www/mem/public>
    Allow from all
    Options -MultiViews
</Directory>

答案 3 :(得分:0)

我正在运行带有Apache&amp;的CentOS 6盒子乘客模块。我的网站配置位于/etc/httpd/sites-enabled/文件夹中。这是我的conf:

# /etc/httpd/sites-enabled/hello-world.conf
<VirtualHost *:80>
    ServerName hello-world.localhost
    DocumentRoot /var/www/hello/public
    <Directory /var/www/hello/public>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>

永远记得重新启动apache:

$ sudo apachectl restart

希望这对你有所帮助。祝你好运。

答案 4 :(得分:0)

我自己也遇到了同样的问题,不过在rhel 6.2(64bit)上使用rails3应用程序,在https上使用ruby-1.8.7。我通过在/etc/httpd/conf.d/myapp.conf中添加以下行(在“VirtualHost”部分之后)修复了我的问题:

    PassengerPreStart https://<url-to-my-rails-app>

重新启动apache后,我的应用程序会正常显示。

您可以从apache的乘客用户指南中找到更多信息:http://www.modrails.com/documentation/Users%20guide%20Apache.html#User_switching

答案 5 :(得分:-5)

禁用selinux。

答案必须至少30个字符。