我有一个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。我是否需要在配置文件中进行更改?
答案 0 :(得分:1)
您没有根路线。例如,如果你做了
rails g controller welcome index
然后添加
root :to => 'weclome#index'
您的根路径/将显示欢迎索引页面。