やりたいこと
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を再起動してくれると思います。