ENV:
我已经在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)。
答案 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