【Ruby】rails sでのエラー・ブラウザが開きません
気がつけば、前回の記事から大分経ってしまっていました。
月日が経つのは早いですが、よろしくない…
今後、アプリの実装のカリキュラムに入っていくので、エラーの備忘録や、発見について少し書いていくつもりです。
で、今日はタイトルのサーバー立ち上げの rails s のエラーについて。
% rails s
で、サーバー立ち上がるはずなのですが、
=> A server is already running. Check プロジェクト名/tmp/pids/server.pid.
あー、エラーですか、そうですか…。サーバーが既に動いてるよって言うんですけど、ブラウザはグルグルしてます。
で、ちょっと対処法を検索しました。
①とりあえずターミナル再起動
これで済むのが一番いいんですけどね…。ダメですた。
②該当プロジェクトの/tmp/pids/server.pid.を削除
この、「/tmp/pids/server」内の「pid」ファイルと言うのは、サーバーが立ち上がったり落としたりするたびにできたり消えたりするらしい。
これが消えてないままだったり?ということで、確かに存在していたので消したのですが、解決せずでした。
=> Address already in use - bind(2) for "127.0.0.1" port 3000 (Errno::EADDRINUSE)
うーん。じゃ、次。
③killの使用
% ps ax | grep rails =>3701 s000 S+ 0:00.01 grep rails
これでrubyのプロセスを確認。
% kill -9 3701 => kill: kill 3701 failed: no such process
えー。これでもダメ。
④
% lsof -wni tcp:3000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ruby 3234 maiko.t 26u IPv4 0xfe72a89e0d47311d 0t0 TCP 127.0.0.1:hbci (LISTEN) ruby 3234 maiko.t 27u IPv6 0xfe72a89e09ddc5cd 0t0 TCP [::1]:hbci (LISTEN) ruby 3234 maiko.t 32u IPv6 0xfe72a89e0b25a82d 0t0 TCP [::1]:hbci->[::1]:49819 (CLOSE_WAIT) % kill -9 3234 % rails s
これで無事解決!良かった…
いろんな方が検索したり記事にしているので、割とよくあることなんですね。
※ちなみに、③についてですが、サーバーのプロセス確認は、
% ps ax | grep rails
ではなく、
% ps aux | grep puma
とのこと。rails sはpumaというサーバーを起動しているらしい。
% ps aux | grep puma
% kill -9 出てきた番号
でもいけたかも。
また、このエラーは起きてしまいそうなので、しっかり残しておくことにしました。
また出くわしたら、まずはこの手順でやってみますー(③は※のプロセスもやってみます!)