さくらVPS 2GB SSDのCentOS 6.4をセットアップしてイケているRailsサーバに仕上げるまでのシリーズです。第8回はPassengerの導入です。PassengerとはRailsのアプリケーションサーバの1つで、Apacheと組み合わせて使う方式はそれなりの時間が立って、熟れているのでネットでの情報も豊富です!
🐰 Passengerのインストール手順
gem install時にドキュメント生成を行わないようにする。vim ~/.gemrc
に次の項目を追加。
gem: --no-rdoc --no-ri |
RVM環境の場合はpassengerのインストール前にgemsetをgrobalにする。
rvm gemset use global |
gem passengerをインストール。
gem install passenger |
passengerのApacheモジュールのインストール。
passenger-install-apache2-module |
インストールが完了したら、次のコマンドを実行。
passenger-install-apache2-module --snippet |
Passengerの設定
次のコマンドを実行すると、
passenger-install-apache2-module --snippet |
Apacheとの連携に必要な設定が次のように出力されます。
# 環境によって設定値が異なりますので以下の3行はそのまま転記しないでください。 LoadModule passenger_module /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/passenger-4.0.18/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/passenger-4.0.18 PassengerDefaultRuby /usr/local/rvm/wrappers/ruby-2.0.0-p247@global/ruby
sudo vim /etc/httpd/conf.d/passnger.conf
で次の内容を追加。
# Passengerの基本設定 |
Apacheの文法チェックです。
apachectl configtest |
以下でApacheを再起動してブラウザで表示確認。
sudo /etc/rc.d/init.d/httpd restart |
もし本番環境の場合は、vim ~/.bashrc
で以下を追加。
RAILS_ENV=production |
source ~/.bashrc
を実行して設定を反映。
🗻 補足:Passengerの実行ユーザー
Passengerの実行ユーザーは各プロジェクトのconfig/environment.rbファイルのオーナーだそうです。理由は、共有サーバでPassengerを利用した場合に、ほかの利用者のファイルをRailsアプリケーションからアクセス出来ないようにする為らしいです。
🎳 補足 : Apacheのバーチャルホスト セットアップ手順
Apacheのバーチャルホストの設定ファイル(sudo vim /etc/http/conf.d/vhost.conf
など)をApache VirtualHostの設定を参考に編集。
apachectl -t |
🚌 参考リンク
RVM: Ruby Version Manager - Passenger - Come on, ride the train, hey, ride it, woo woo…
😼 変更来歴
12/14 22:15タイトルを変更、全体の構成をシリーズものに合わせて編集
09/24 07:20 Ruby 2.0.0対応 & CentOS 6.4対応、記述ミス修正
👽 検証環境
今回の記事の検証環境は以下のとおりです。
Local/Server: Ruby: 2.0.0 Rails: 4.0.0 Local: OS: Mac Mountain Mountain Lion(macOS 10.8.4) Server(さくらVPS 2G SSD): CentOS release 6.4 (Final)