RailsとUnicornでサブディレクトリのデプロイについて
unicorn_railsのオプションでアプリのURLにprefixをつけることができる。
unicorn_rails --path /foo -D -e production
このまま実行するとルートのエラーが起きる。
アプリケーション側でprefixを含んだパスを認識できていないためである。
ENV['RAILS_RELATIVE_URL_ROOT']がアプリのルートパスになるので
起動時に対応させる必要があります。
設定ファイルはconfig.ruで行います。
require ::File.expand_path('../config/environment', __FILE__) # run Foo::Application if ENV['RAILS_RELATIVE_URL_ROOT'] map ENV['RAILS_RELATIVE_URL_ROOT'] do run Foo::Application end else run Foo::Application end
run Foo::Applicationの箇所をコメントアウトして、上のように追加します。