ひとつのサーバ上でRailsアプリを複数動かす方法
はてブメールはこのkaeruspoonと同じサーバ上で動いています。ひとつのサーバ上で複数のRailsアプリを動かす方法はいろいろあると思いますが、ぼくは一番簡単そうなサブドメインでわける方法を選びました。ちなみにwebサーバはLighttpdです。
lighttpd.confの中で以下のような設定を追加します。
#### fastcgi module
## read fastcgi.txt for more info
fastcgi.server = ( ".fcgi" =>
( "localhost" =>
(
"min-procs" => 10,
"max-procs" => 10,
"socket" => "/tmp/kaeruspoon.fcgi.socket",
"bin-path" => "/var/www/kaeruspoon/public/dispatch.fcgi",
"bin-environment" => ("RAILS_ENV" => "production")
)
)
)
$HTTP["host"] == "hatebumail.kaeruspoon.net" {
server.document-root = "/var/www/hatebumail/public"
fastcgi.server = ( ".fcgi" =>
( "localhost" =>
(
"min-procs" => 10,
"max-procs" => 10,
"socket" => "/tmp/hatebumail.fcgi.socket",
"bin-path" => "/var/www/hatebumail/public/dispatch.fcgi",
"bin-environment" => ("RAILS_ENV" => "production")
)
)
)
}
これであとはlighttpdを再起動してやるだけです。とても簡単でしょう? これでいくらでも思いつくかぎりのサービスをローンチすることができそうですが、ぼくのサーバのスペックじゃすぐに限界がきそうなのでほどほどにしとかなきゃです。