Passengerで複数のRailsアプリを公開してみる

RailsでHello, world!を表示してみる
の続き

Passengerで複数のRailsアプリを公開してみる。

【参考】
Passengerで複数のRailsアプリを動かす方法 - hellkite 日記と雑記とメモ。
http://d.hatena.ne.jp/deis/20101003/multi_app_on_passenger

準備

前回と同様の手順でsampleとsample2を用意し、
下記のような状態にする。

$ pwd
/home/hoge
$ tree
.
├── sample
│   …
│   ├── public
│   …
│
└── sample2
    …
    ├── public
    …

設定

シンボリックリンクをはる。

$ sudo ln -s /home/hoge/sample/public /var/www/html/sample
$ sudo ln -s /home/hoge/sample2/public /var/www/html/sample2

VirtualHostの設定を下記のようにする。

$ sudo vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
  ServerName www.yourhost.com
  DocumentRoot /var/www/html
  RailsEnv development
  <Directory /var/www/html>
     AllowOverride all
     Options -MultiViews
  </Directory>
  RailsBaseURI /sample
  RailsBaseURI /sample2
</VirtualHost>

確認

http://サーバーのアドレス/sample/
にアクセスすると、sampleのアプリが表示され、

http://サーバーのアドレス/sample2/
にアクセスすると、sample2のアプリが表示される。

画像も
<%= image_tag 'hoge.png' %>
のような感じで指定して、特に問題なく表示できた。