@テク野路ジーロード

配信タグシェアリングシステムpickvyを開発、運営開始。最近は、Googleアナリティクスを研究中

RailsをApache+Passenger連携させたときの話し

本来は色々やらないといけないけれど、Redmineをお試しインストールしていたので
Passengerは既にインストール済みだった。もちろん、Apachehttpd)も
インストール済みだった。

 

当時参考にした手順↓

Redmine 3.2をCentOS 7.1にインストールする手順 | Redmine.JP Blog

 

■ここからが今回のメイン内容!

そこで、ApacheRailsアプリケーションをサブディレクトリ上で動作させた
ときの手順を備忘録として残しておく。いくつかひっかかったので。
※便宜上、以下ではRailsアプリケーション名をabcと仮定する。

  1. /etc/httpd/conf.d/abc.conf を作成する
  2. abc.confの中に記述を追加する。基本、redmine.confをコピーする。
    その上で、以下を記述する。
      abcアプリのpublicフォルダパス
      RackBaseURI /abc
  3. abcアプリのpublicフォルダに、assets/javascriptsやassets/stylesheets
    へのシンボリックリンクを作成する
  4. アセットの事前コンパイル
       >rake assets:precompile
  5. rake secretで得たキーをsecret.ymlへproductionとして追加する
  6. 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

-----------------------------------------------------------------------------------------------------------

 

ひとつひとつの詳細は後日つらつら書きたいが、取り敢えずここまで! あばよ!