铁路,阿帕奇,乘客不工作。但rails 2 app在同一个环境中工作

时间:2012-11-19 21:59:52

标签: ruby-on-rails apache passenger

ENV:

  • OpenSUSE 11.4
  • Apache 2.2.17
  • Passenger 3.0.18
  • Ruby 1.8.7
  • Rails 3.2.8

我已经在apache下安装了RoR应用程序 - ChiliProject(但是使用了rails 2.3.14),它运行正常。

它安装在/chiliproject和在httpd配置中(实际上在默认服务器中,因为我没有vhosts)我有“RailsBaseURI / chiliproject / public”。

现在,我需要开发自己的应用程序(在Web开发方面的第一次经验)。

“rails new hello_world”,Webrick工作正常,但我想用CGI在apache下运行它。我添加了“RailsBaseURI / hello_world / public”。但它不能正常工作。当我在索引页面上按“关于您的应用程序环境”时,它会给我404“您正在寻找的页面不存在。”。对于rails中的任何路由,它给出错误500或404.但相同的路由和控制器与webrick一起工作正常。即使我把ChiliProject放入/ hello_world也行得通。这意味着问题不在于阿帕奇或乘客。

日志中没有apache / passenger错误,只有404或500.我试过“rails 2.4.13 new hello_world”但它给了我很多错误,简单的谷歌搜索并没有解决所有问题他们。因此,我无法使用rails 2.4.13轻松创建一个新项目,该项目可以与其他应用程序一起使用,我认为它不会有所帮助。

我在ruby网站上看到1.8.7可能会导致使用rails3崩溃。之后我花了4个小时研究RVM和不同的ruby版本。毕竟,ChiliProject(甚至最新版本)不能与ruby 1.9一起工作,我的原始问题没有消失。现在我把所有东西都归还了(ruby 1.8.7来自发行版的repo并且没有RVM)。

1 个答案:

答案 0 :(得分:5)

如果你的webbrick有效,那么你的apache配置文件就会出现问题。

我在下面使用bitnami RubyStack和配置没有任何问题:

<VirtualHost *:80>
    ServerName www.myhostname.com
    DocumentRoot /home/bitnami/app_name/public  
    RailsEnv development
    <Directory /home/bitnami/app_name/public>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>

我的乘客版本:

:~$sudo passenger-config --root
/opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.17

请检查乘客是否正在运行:

:~$sudo passenger-status

----------- General information -----------
max      = 6
count    = 2
active   = 0
inactive = 2
Waiting on global queue: 0

----------- Application groups -----------
/home/bitnami/app_1:
  App root: /home/bitnami/app_1
  * PID: 4972    Sessions: 0    Processed: 24      Uptime: 33h 38m 14s

/home/bitnami/app_2:
  App root: /home/bitnami/app_2
  * PID: 24538   Sessions: 0    Processed: 1682    Uptime: 296h 14m 44s