passenger(mod_rails)を使ってみる

いちいちmongrel/webric上げなくてすむようにpassengerを入れてみた。

インストール

$ sudo gem install passenger
#mod_passenger.soの作成
#mac(tiger)はapache1.3が入っているので、apache2のモジュールを参照するように環境変数を設定。
$ sudo env APXS2=/opt/local/apache2/bin/apxs passenger-install-apache2-module

設定

あとは、実行時に出力されるメッセージのようにhttpd.confに追記すればOK。
ここでは、rails用に別ファイルとして保存して、httpd.confから呼び出すようにしてみた。

#httpd.conf
Include conf/extra/httpd-rails.conf
#httpd-rails.conf
LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /opt/local/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /opt/local/bin/ruby
RailsEnv development

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /opt/local/apache2/htdocs/rails/hogehoge
</VirtualHost>

※ RailsEnvは、default productionになっているので変更。
※ DocumentRootには、該当railsプロジェクトのpublicディレクトリを指定する(シンボリックリンク)。


使い方

http://localhost
で該当プロジェクトが起動。


masuidrive on rails - mod_rails(passenger)はmogrelの3倍メモリを食う?
という話もあるが、
個人で気軽に使うにはなかなか良いです。