railsでサーバーが起動しない場合の原因
rails sでサーバーを起動し、ローカル環境でブラウザの確認をする機会が多くあると思います。その時、
A server is already running
とターミナルで出て、ブラウザがずっと読み込み続けて開けない時の原因と対策を記録していきます。
原因
これは一日の作業後にターミナルやサーバーを立ち上げたまま閉じたり、繋げっぱなしにすると起こるようです。
対策
まず、直し方です。
ターミナルにps aux | grep pumaと入力します。
これで状態の確認ができます。すると、
ユーザー名 1245 99.9 2.0 4589056 171840 ?? R 9:55PM 20:58.15 puma 3.12.6 (tcp://localhost:3000) [furima-00000]
ユーザー名 3273 0.0 0.0 4287756 744 s000 S+ 11:51AM 0:00.00 grep puma
このような記述が帰ってきました。
1つ目の記述を見るとlocalhost:3000でfurima-00000が動いています。とのことなので動作をしている番号を消すため
ターミナルにkill 1245と入力します。
その後、ps aux | grep pumaと入力すると、
ユーザー名 3279 0.0 0.0 4268300 696 s000 S+ 11:52AM 0:00.00 grep puma
となり、裏で動いていた処理がなくなりました。
これでrails sすると、正常にサーバーが立ち上がりました。
まとめ
原因はサーバーやターミナルを付けっぱなしにしていること。
対策はサーバーが止まったら、
ps aux | grep puma
で状態確認を行う。
不要なタスクをkill 番号、で消す。
ps aux | grep puma
で動いている処理を再確認する。
1日の作業が終了したら、サーバーを落としてターミナルを切る。電源を落とす。
定期的に起こるようなのでしっかり覚えておきたい。