redmine+unicorn+nginxで「http://host/redmine」のようにサブURIを使ってアクセスできるように設定してみました。ちょっと苦戦しましたが、複数のWebアプリを同一サーバに配置するとどうしてもこうした設定がしたくなります。
redmine+unicorn+nginxの導入方法は他のサイトに解説があるので、サブURIの設定の仕方だけ紹介します。
- config/environment.rbに設定を追加
これでredmineの画面遷移時のリンクに指定したパスが追加されます。・・・ # この1行を「Rails.application.initialize!」より前に追加 RedmineApp::Application.routes.default_scope = '/redmine' # Initialize the Rails application Rails.application.initialize!
- unicornの起動オプションに–pathを指定
これでredmineの静的コンテンツのリンクに指定したパスが追加されます。bundle exec unicorn_rails -l 3000 -E production --path /redmine
- redmineのpublicへのシンボリックリンクを作る
ln -s /var/lib/redmine/public /var/www/html/redmine
- nginxのlocationを以下のようにする
静的コンテンツはunicornに飛ばさず、nginxから返すようにしています。
(rootは/var/www/htmlの前提)location ~ ^/redmine/.*\.(css|js|png|gif)$ { } location /redmine { proxy_pass http://127.0.0.1:3000/redmine; }
以上で、/redmineでアクセスできるようになります。