配置Passenger服务器和Rails应用程序

时间:2013-03-08 23:31:53

标签: ruby-on-rails apache virtualhost passenger

我有一个rails应用程序,我希望通过apache在默认端口80上运行。所以我设置了Passenger服务器,并配置了apache配置文件。

我的应用程序曾经在默认的3000端口上运行,而我的routes.rb看起来像这样:

ScwCentral::Application.routes.draw do
 resources :smoke
 resources :regression
.....
....
.....

这些是我的应用程序中的2个控制器“冒烟”和“回归”。所以我的应用程序将运行在一个URL上,例如localhost:3000 / smoke和localhost:3000 / regression。

现在在设置了Passenger服务器和所有内容后,我将apache配置文件编辑为:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby

# Rails_App Virtual Host

<VirtualHost *:80>                                                                                                                         
  ServerName www.mysite.com
  # !!! Be sure to point DocumentRoot to 'public'!
  DocumentRoot /a/rails_app_test/public/    
  <Directory /a/rails_app_test/public>
     # This relaxes Apache security settings.
     AllowOverride all
     # MultiViews must be turned off.
     Options -MultiViews
  </Directory>

其中“/ a / rails_app_test /”是我的应用程序的路径。

现在,当我去www.mysite.com时,它说

Routing Error
No route matches [GET] "/"

当我打开www.mysite.com时,我最好打开localhost:3000 / smoke。我是否需要在配置文件中进行更改?

1 个答案:

答案 0 :(得分:1)

您没有根路线。例如,如果你做了

rails g controller welcome index

然后添加

root :to => 'weclome#index'

您的根路径/将显示欢迎索引页面。