RailsをApache+Passenger連携させたときの話し
本来は色々やらないといけないけれど、Redmineをお試しインストールしていたので
Passengerは既にインストール済みだった。もちろん、Apache(httpd)も
インストール済みだった。
当時参考にした手順↓
Redmine 3.2をCentOS 7.1にインストールする手順 | Redmine.JP Blog
■ここからが今回のメイン内容!
そこで、ApacheにRailsアプリケーションをサブディレクトリ上で動作させた
ときの手順を備忘録として残しておく。いくつかひっかかったので。
※便宜上、以下ではRailsアプリケーション名をabcと仮定する。
- /etc/httpd/conf.d/abc.conf を作成する
- abc.confの中に記述を追加する。基本、redmine.confをコピーする。
その上で、以下を記述する。
abcアプリのpublicフォルダパス
RackBaseURI /abc - abcアプリのpublicフォルダに、assets/javascriptsやassets/stylesheets
へのシンボリックリンクを作成する - アセットの事前コンパイル
>rake assets:precompile - rake secretで得たキーをsecret.ymlへproductionとして追加する
- httpdの再起動
>service httpd restart
さーらーにー!
■今後の参考のために、abc.confの中身をさらしておく
-----------------------------------------------------------------------------------------------------------
<Directory "(abcアプリのフォルダパス)/public">
Require all granted
</Directory>
# Passengerの基本設定。
# passenger-install-apache2-module --snippet で表示された設定を記述。
# 環境によって設定値が異なるため以下の3行はそのまま転記せず、必ず
# passenger-install-apache2-module --snippet で表示されたものを使用すること。
#
LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.23/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.23
PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>
# Passengerが追加するHTTPヘッダを削除するための設定(任意)。
#
Header always unset "X-Powered-By"
Header always unset "X-Runtime"
# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerHighPerformance on
PassengerStatThrottleRate 10
PassengerSpawnMethod smart
PassengerFriendlyErrorPages off
#Apache Config
RackBaseURI /abc
-----------------------------------------------------------------------------------------------------------
ひとつひとつの詳細は後日つらつら書きたいが、取り敢えずここまで! あばよ!