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日の作業が終了したら、サーバーを落としてターミナルを切る。電源を落とす。

定期的に起こるようなのでしっかり覚えておきたい。