@Konboi memo

主に技術に関してつらつらと。

Rails x unicorn のアプリをサブディレクトリで動かす

はじめに

1ドメインで複数のサービスを動かすには

の 2種類があると思います。

今回は Rails x unicorn x nginx で動かす場合の設定の紹介をします。

Railsの設定

Railsで設定するファイルは config.ru 1つになります。

# before

require ::File.expand_path('../config/environment',  __FILE__)
run Rails.application
# after
require ::File.expand_path('../config/environment',  __FILE__)

if ENV['RAILS_RELATIVE_URL_ROOT']
  map ENV['RAILS_RELATIVE_URL_ROOT'] do
    run Rails.application
  end
else
  run Rails.application
end

unicornの設定

unicornは設定というよりも起動方法のはなしです。

よくある起動方法は 設定ファイルと環境変数を渡して起動する方法です

 bundle exec unicorn_rails -c #{unicorn_config_file} -E #{enviroment} -D

サブディレクトリで起動する場合は 1つオプションを追加します。

 bundle exec unicorn_rails -c ${CONF} -E local -D —path /hoge

—path オプションを追加しました。 上記のサンプルはアプリを /hoge というサブディレクトリで動かす設定になります。

これで unicorn, Rails の設定は終わりです。

nginx の設定

おまけで、 トップの来たら /hogeにリダイレクトさせる nginxの設定も書いておきます。

rewrite ^/$ /hoge redirect;

 location /hoge {
    …
 }

まとめ

  • 思ったより簡単にできました!

マスタリングNginx

マスタリングNginx