环境:
- OpenSUSE 11.4
- 阿帕奇 2.2.17
- 乘客 3.0.18
- 红宝石 1.8.7
- 导轨 3.2.8
我已经在 apache 下安装了 RoR 应用程序 - ChiliProject
(但使用 rails 2.3.14)并且工作正常。
它安装/chiliproject
在 httpd 配置中(实际上是在默认服务器中,因为我没有虚拟主机)我有“RailsBaseURI /chiliproject/public”。
现在,我需要开发自己的应用程序(网络开发的第一次经验)。
“rails new hello_world”,Webrick 工作正常,但我想用 CGI 在 apache 下运行它。我添加了“RailsBaseURI /hello_world/public”。但它不能正常工作。当我在索引页面上按“关于您的应用程序环境”时,它给了我 404“您要查找的页面不存在。”。对于 rails 中的任何路由,它都会给出错误 500 或 404。但是相同的路由和控制器可以在 webrick 上正常工作。即使我将 ChiliProject 放入 /hello_world 它也可以工作。这意味着问题不在于 apache 或乘客。
日志中没有 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,我最初的问题并没有消失。现在我把所有东西都回来了(来自发行版的 repo 的 ruby 1.8.7,没有 RVM)。