0

apacheを介してデフォルトのポート80で実行したいRailsアプリケーションがあります。そこで、Passengerサーバーをセットアップし、apache構成ファイルを構成しました。

私のアプリケーションはデフォルトの3000ポートで実行されていましたが、routes.rbは次のようになります。

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

これらは、私のアプリケーションの「smoke」と「regression」の2つのコントローラーです。したがって、私のアプリケーションはlocalhost:3000 / smokeやlocalhost:3000/regressionなどのURLで実行されます。

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を開きたいと思います。構成ファイルにさらに変更を加える必要がありますか?

4

1 に答える 1

1

ルートルートがありません。たとえば、あなたがした場合

rails g controller welcome index

その後、追加しました

root :to => 'weclome#index'

ルートパス/はウェルカムインデックスページを表示します。

于 2013-03-09T03:01:25.437 に答える