やりたいこと
PassengerにのせているRailsアプリケーションをCapistranoでデプロイした後に再起動したい。
やったこと
Capfile
require 'capistrano/passenger
- (rvmを使用している場合)
set :passenger_rvm_ruby_versionでRubyのバージョンを指定する。
capistrano/passengerのREADMEを読むと、Passengerがcapistranoのrvm_ruby_versionと違っている場合は書いたほうがいいってこと?
config/deploy.rb
set :passenger_rvm_ruby_version, '指定するRubyのバージョン'
-
:passenger_environment_variablesと:passenger_restart_commandを設定。
この記述がなかったせいか、1,2だけの設定では Could not find 'passenger' (>= 0) among 15 total gem(s) (Gem::LoadError)などのエラーが出てしまった。
path-to-passengerは、passenger-config --rootで出てきたものに書き換える。
config/deploy.rb
set :passenger_environment_variables, { /path-to/passenger/bin:$PATH }
set :passenger_restart_command, "/path-to-passenger/bin/passenger-config restart-app #{deploy_to}"
以上で、cap production deployをするとPassengerを再起動してくれると思います。