Rails3,阿帕奇,乘客不工作.但rails2应用程序在相同的环境中工作

Ole*_*yan 2 apache ruby-on-rails passenger

ENV:

  • OpenSUSE 11.4
  • Apache 2.2.17
  • 乘客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).

Rog*_*ger 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>
Run Code Online (Sandbox Code Playgroud)

我的乘客版本:

:~$sudo passenger-config --root
/opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.17
Run Code Online (Sandbox Code Playgroud)

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

:~$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
Run Code Online (Sandbox Code Playgroud)