Passenger for Solaris
RailsアプリケーションをApacheに非常に簡単にデプロイできるモジュールPhusion Passenger a.k.a. mod_rack/mod_railsをSolaris10(SPARC) + Apache 2.2.9で動作させてみました。
今回はSPARC版ですが、基本的にx86版でも動作すると思います。
あらかじめSunStudioまたはgccをインストールしておきます。
そしてまずCoolStackのRubyを用意します。CoolStackのRubyはこちらからダウンロードできます。
解凍後、pkgaddします。
あらかじめSunStudioまたはgccをインストールしておきます。
そしてまずCoolStackのRubyを用意します。CoolStackのRubyはこちらからダウンロードできます。
解凍後、pkgaddします。
pkgadd -d . CSKruby_1.3.1_sparc.pkg
そうすると、/opt/coolstack/bin/ 以下にruby/gemがインストールされるので、パスを通しておきます。
Passengerのインストール時に必要になるので、rackをインストールします。
gem install rack
上記のmod_rackのサイトのバイナリ/ソースではインストールできないので、こちらからパッチをあてたソースをダウンロードします。
ソースを解凍後、(ここでは解凍後/opt/passengerというディレクトリに展開されたとします)以下のようにしてインストールします。
cd /opt/passenger/bin
./passenger-install-apache2-module
対話式のインストールになりますので、指示に従うだけでPassengerがインストールされます。後は、httpd.confに通常のPassengerと同様に
LoadModule passenger_module /opt/passenger/ext/apache2/mod_passenger.so
PassengerRoot /opt/passenger
PassengerRuby /opt/coolstack/bin/ruby
と設定し、後はVirtual hostを設定するだけで、railsを動作させることができます。
2008/09/26 by Tomo Nozawa
Ruby Enterprise Edition
Passengerを開発したPhusionからもう一つのプロダクトが発表されています。
Ruby Enterprise Edition
現在Linuxのみサポート。
特徴としてはRuby1.8.6と完全互換、Passengerと併用することで、メモリ使用量を33%減少可能。
通常のMRIと同居が可能で、現状の環境を壊すことがない。
メモリ使用量に関しては上記サイトにある
グラフのように劇的に減少するようです。実際試したわけではないので、どの程度効果があるのか実証できませんが、新たな処理系として注目したいと思います。
2008/06/16 by Tomo Nozawa
Passenger2.0
オランダのスタートアップ「Phusion」が開発し、大きな話題になったPassenger。
それを大幅に改良したPassenger2.0RC1がRailsConfで発表され、リリースがまたれていましたが、ついに登場。
Passengerはmod_railsとも呼ばれ、phpのように特に難しい設定をすることなく、RailsアプリをApacheで高速に動作させることができるというものです。
1.0.5では高速なものの、そのメモリ消費量が問題視されていましたが、2.0では大幅にメモリ使用量を改善。さらに2.0では以下のような特徴があります。
- Rackサポート
これによりRails専用だった1.0.5とは異なり、MerbなどのRack対応アプリも動作可能に - WSGIサポート
Pythonのウェブ層抽象化のWSGIをサポート。Djangoが動作可能に - Apache Worker MPMをサポート
- Fair Load バランシングをサポート
もちろんより安定性が向上したことに加えて、パフォーマンスも向上。
2.0でレンタルサーバなどリソースが限定されている環境でより手軽にRailsアプリを使えるようになったことは間違いないでしょう。
なお詳細はRailsConfでのプレゼンテーション資料(PDF)をご覧ください。
2008/06/13 by Tomo Nozawa
