表題の通りなんだけど、 capistrano で何回目かのデプロイで puma が止まることがあって、いろいろ調査をしたら、6回目のデプロイで puma が止まることがわかりました。

「6回目」というのは、 capistrano がデプロイ先のサーバーに保存する世代の数が「5」だった場合(初期値が「5」)に、一番古い世代を削除するタイミングが「6回目」で、そのタイミングで puma の設定ファイルが Gemfile を見失うのが原因でした。

下記は unicorn の場合だけど、全く同じ症状でした。

capistrano + unicornではまった。 – blog unlearned

上記ページにもあるけど、

みたいなエラーが発生して、 puma が止まってしまいます。

修正方法としては、 /path/to/app/config/puma/production.rb みたいなファイルがあるとして、

を追加することで直りました。

たくさんググったけど、意外と誰も書いてなさそうだったので、書きました。どなたかのご参考になれば幸いです。

参考

https://github.com/puma/puma/blob/master/examples/config.rb