0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Puma - Nignx って環境で rails s -e production -d でうまくいかない時の逃げ道

Posted at

前提

EC2 に Rails6 + Puma + Nginxでデプロイしてて
かつ EC2にSSH接続したターミナルで

rails s -e production 

では問題なくサービスが表示されているのに

rails s -e production -d

ではエラー画面が表示されるだと?

ええ〜これじゃサービス起動させ続けるのにSSH接続しっぱなしじゃーん

という悩みを抱えたキミ向けだよ!

解決

Railsのルートフォルダにあるconfig/puma.rbに

config/puma.rb
daemonize

って追記するんだ!
これで

rails s -e production -d

では起動できないままだけど

rails s -e production 

これでデーモン化されるので解決だよ!

これじゃローカルでもデーモン化されて不便だろって人は

config/puma.rb
if Rails.env == 'production'
  daemonize
end

って書こうね!誰でも思いつく回避策だね!知ったげに書いてごめんね!

原因

完全に調べきったわけじゃないですが、私がネットサーファーになってgoogleの海を潜った結果、どうやら pumaで"rails s -d" でデーモン化すると puma.rbが読み込まれないみたいです。
rails s -e production -d で起動した際にNginxのエラーログにpuma.rbで設定しているsocketで接続できなかったよ!って記載されていますので、多分あってるんでないかなと思います。

コイツはマズイぜ!という点があればご指摘ください!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?