pumaのデーモン化はどうやら廃止されたらしい

なんてこった。

どうりで動かないわけですよね。

「低レベルなオペレーションはOSに任せるべきじゃね?」ということで廃止されsystemdなどに任されるようになったとのこと。

ということでsystemdについて調べたんですが難しすぎてブチギレそうなのでdaemonizeを復活させるgemで実装していこうと思います。

puma-daemon

世の中の有能の功績を思う存分堪能させてもらおうのコーナー

puma-daemonによってpuma.rbのdaemonizeが使えるようになるとのこと。公式GitHubの手順に従いpuma.rbを編集していこう。

1. 準備

実際に追記したのは以下の内容

require 'puma/daemon' workers 3 threads 2,3 daemonize

2. 起動

いつも通りの方法でOK。ただしpuma.rbにdaemonizeした場合は -d オプションはいらない

$ rails s

3. 起動確認

3000ポートで起動してるプロセスを見にいく。

$ lsof -i:3000

4. 終了

終わらせたい時はプロセスをキルする。

$ kill `cat tmp/pids/server.pid`

参考