My Brain is Open.

思いついたことを適当に列列と

rvm+passenger3+nginxで作るRailsアプリケーションサーバ

  • rvm : Ruby Version Manager。コマンド一つでRubyバージョンを切り替えたりgemsetとかを切り替えたりできます。
  • nginx : 軽量WebProxy。HTTPサーバとしても使えます。
  • Passenger : mod_railsとも。Ruby on Railsをデプロイするときに超便利。

まぁ、ここを見ればとりあえずはいいわけですが。

[RVM Document : Passenger]
http://rvm.beginrescueend.com/integration/passenger/

僕の方ではこうしました。

  • RVMはSystem Wide Install ( prefix = /usr/local/rvm )
  • アプリケーション用のバージョンとgemsetをインストールしておく
rvm install 1.9.2-head
rvm use 1.9.2-head
rvm gemset create my_app
rvm gemset use my_app
cd /RailsApp/Path/
gem install bundler # (Rails3の場合)
bundle install # (Rails3の場合)
  • nginx は既存のアプリケーションと分けるためにホームディレクトリ以下におく ( /home/user/nginx )
  • nginx.confには次のような内容を記述
passenger_root /usr/local/rvm/gem/1.9.2-head@my_app/gems/passenger-3.0.2 ;
passenger_ruby /usr/local/rvm/wrapper/1.9.2-head/ruby ;

location / {
    port 8080;
    # ...
    passenger_enabled on;
    root /RailsApp/Path/public;
}

これでアプリケーションを動かすことができる。

rvmを使った理由は、以下の環境を同時に構築するため。

むちゃくちゃさせてる気がするけど、動いてるからよし。