2008年4月21日(月曜日)

Passenger(mod_rails)で簡単Rails環境構築

カテゴリー: - sato @ 18時50分17秒

satoです。今回はRubyを代表するフレームワークRuby On Railsの話です。
通常Ruby On Railsを動かす場合、mod_rubyやwebrickとかは使わず、fastcgiやmongrel(cluster)といった環境を用意することが多いです。しかしどちらも設定が煩雑で、簡単に利用できるとは言い難いものでした。
しかし最近、Passengerなるものが出てきて話題になっています。これは「a.k.a. mod_rails」の名の通り、Rails専用のApacheモジュールとなっています。
インストールも非常に簡単で、RubyGemsがインストールされている環境なら、

% gem install passenger
% passenger-install-apache2-module

で完了します。
passenger-install-apache2-moduleを実行すると、足りない環境や、Apacheの設定方法まで詳しく表示されるので、インストールに失敗して困るということもないと思います。
passenger-install-apache2-moduleが無事終了すると、

The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

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

After you restart Apache, you are ready to deploy any number of Ruby on Rails applications on Apache, without any further Ruby on Rails-specific configuration!

のようなメッセージが出ます。(環境によってパスは変わります)
ここに書いてある3行をそのままhttpd.confに追記し、Apacheを再起動すればインストール完了です。
httpd.confでDeny from allが記述されている場合は消すといいようです。
あとは普通にRailsアプリケーションを作成し、実行するだけです。DocumentRootがRailsのpublicであれば他の設定は不要です。(そうでない場合は少し設定が必要のようです)
開発用サーバとしての機能は備わっていないので、開発中はruby script/serverでWebrickを起動することになります。
Passengerの再起動は、touch tmp/restart.txtしておくと勝手に再起動するようです。

環境面で敷居の高かったRailsですが、これで手軽に導入できるようになるのでしょうか。
パフォーマンスは良好のようなので、安定性に期待したいところです。


RSS feed for comments on this post.

ƤˤϡޤȤդƤޤ

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.008 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.