ターミナルでrails serverを実行してrailsを動かしてたけど、ターミナルを終了するとrailsも止まってしまうので、どうしたものかと思っていたら、バックグラウンドで実行する方法があった。
環境
■OS
# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
■Rails
# rails -v
Rails 5.1.6
■Ruby
# ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
バックグラウンド実行コマンド
rails server -d -b 0.0.0.0
-d オプションをつけるとバックグラウンドで実行できる。
-b 0.0.0.0 は外部からアクセスできるように指定する。
-dオプション(バックグランドで実行)をつけない場合は、rails serverだけで
外部からアクセスできたけど、-dをつけると、rails server -dだけではアクセスできなかった。
なぜだろう。
railsを止めるには
railsを止める場合は、当環境ではpumaを止めればいいので、
# ps aux | grep puma root 2975 0.3 10.7 990292 108932 ? Sl 09:19 0:00 puma 3.11.4 (tcp://0.0.0.0:3000) [/]
でPIDの2975を調べて、
# kill -9 2975
としてあげればいい。