Passenger(mod_rails)で簡単Rails環境構築
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.
ƤˤϡޤȤդƤޤ
Ȥ
ʤߥȤդ뤳ȤϽޤ