2009-11-16 229 views
0

我第一次在我的Debian安装mod_ruby事后问题(搞清楚,这是太慢了之后)我想chagne乘客为我的Apache红宝石:使用乘客

现在我有问题,该乘客被成功地由Apache加载,但不使用,即使我正确地配置好了一切,如:

<VirtualHost *> 
     ServerAdmin [email protected] 
     ServerName xyz 
     DocumentRoot /var/www/vhosts/default/htdocs/ 
     RailsBaseURI /rails 
</VirtualHost> 

Instad的cgi的乘客 - 模块用于显示Rails的应用程序...(如果我从“sites-enabled”文件夹中卸载了cgi.conf和cgi-load,但它不再工作......另一方面,如果我卸载passen ger.load和passenger.conf文件...)

那么,我该如何强制apache使用乘客来显示rails站点?

+1

_“......即使我配置一切正常。” _ **不太** – 2009-11-16 16:02:02

+0

使我想起昆汀·塔伦蒂诺的性格,切斯特拉什行的,在四个房间。 :“越少说明性陈述,越容易在回顾过程中看起来愚蠢。” :) – jcdyer 2009-11-16 16:21:42

回答

2

假设你已经安装并在public目录中的Rails应用程序中使用Apache ...正确配置DocumentRoot需求点的乘客。这里有一个工作VirtualHost指令:

<VirtualHost *:80> 
    ServerName myapp.local 
    DocumentRoot "/path/to/myapp/public" 
    RailsEnv development 
    <directory "/path/to/myapp/public"> 
    Order allow,deny 
    Allow from all 
    </directory> 
</VirtualHost> 

在此之前,也确保命名的虚拟主机开启:

NameVirtualHost *:80 

而且还关系到你实际上已经正确配置了客运模式。例如:

LoadModule passenger_module /path/to/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so 
PassengerRoot /path/to/ruby/gems/1.8/gems/passenger-2.2.5 
PassengerRuby /path/to/bin/ruby 
+0

我已经安装了其他应用程序,所以我不能将文档根目录粘贴到rails-app的公共文件夹中。这就是为什么我将“/ rails”链接到我的“rails-apps”文件夹中...实际上,rails应用程序的请求和路径不应该是问题,因为它们正在工作(当然,不是乘客,而是cgi) – David 2009-11-16 16:11:33

+0

了解,请参阅我的其他答案尝试。 – 2009-11-16 16:29:27

0

您是否在您的rails应用程序中重新配置了relative_url_root?例如,在config/environment.rb

config.action_controller.relative_url_root = "/rails" 
+0

与此我得到一个:未定义的方法'relative_url_root ='为ActionController :: Base:Class(NoMethodError) – David 2009-11-16 17:03:54

+0

什么版本的铁轨? – 2009-11-16 17:50:32