是非に及ばず

プログラミングに関する話題などを書いていきます(主にRailsやAndroidアプリ開発について)

Passenger(mod_rails)の設定メモ

今後が期待できそうなPassenger(mod_rails)を動かしてみたのでメモしておく。

1. gemでpassengerをインストール

# gem install passenger

2. $RUBY_HOME/bin/passenger-install-apache2-moduleを実行

Apacheをソースからインストールしている場合は、環境変数を設定しないとモジュールが作れなくてエラーになるので設定しておく。

# export APXS2=/usr/local/apache2/bin/apxs
# export PATH=/usr/local/apache2/bin:$PATH
# passenger-install-apache2-module

3. httpd.confを修正

mod_railsが作成されると、httpd.confに記述する内容が表示されるので、コピペしてLoadModuleの最後のほうに追加する
自分の環境だと以下のように表示された

LoadModule passenger_module
/usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-1.0.1/ext/apache2/mod_passenger.so
RailsSpawnServer
/usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-1.0.1/bin/passenger-spawn-server
RailsRuby /usr/local/ruby/bin/ruby

4. Railsアプリを配置してドキュメントルートを{RAILS_ROOT}/publicに設定

Passenger(mod_rails)は〜/publicとすると自動的にRailsアプリとして認識するのでそのようにApacheの設定も合わせる。
VirtualHostだとこんな感じ。


DocumentRoot "/path/sample/public"

RailsEnv "development"

Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

5.Apacheを再起動

# /etc/init.d/httpd restart

6. Railsアプリにアクセス

上記の設定を済ませてアクセスすると普通に動くはず。

7. あとは実績を積むのみ(ぉ

導入がめちゃくちゃ簡単なので、非常に良い。
あとは実運用で問題がないかいろいろ検証するのみ!