自己紹介
今月からプログラミングスクールに通ってRuby on Railsを勉強してます!
Qiita初投稿なので初歩的なことかもしれないですが、書いていきます!
エラーが発生
カリキュラムを進めるために、Railsのサーバーを起動させようとしたところ、エラーとなりました。
A server is already running. Check /home/ec2-user/environment/pictgram/tmp/pids/server.pid.
サーバーはもう動いているみたい。えっ再起動どうするの。
てことで、調べてみるとこんな投稿が!
A server is already running 対処方法【Rails】
①ターミナルの再起動→ダメ、、、
②server.pidの削除したら直るでしょと思いきや、、、
rails s をするとエラー発生です。どうしましょ。
Address already in use - bind(2) for "127.0.0.1" port 8080 (Errno::EADDRINUSE)
次に調べて行き着いたのはこの投稿でした。
Address already in use の対処法
# ポートNoが分かっていればこれで確認できる $ lsof -i:ポートNo
そういえば、ポート番号はさっきのエラーに8080と出ていたなと。
$ lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 4162 ec2-user 14u IPv4 14892 0t0 TCP localhost:webcache (LISTEN)
ruby 4162 ec2-user 15u IPv6 14893 0t0 TCP localhost6:webcache (LISTEN)
ruby 4162 ec2-user 20u IPv4 15297 0t0 TCP localhost:webcache->localhost:39268 (CLOSE_WAIT)
そして、PIDの値を知ることができました。
なので、先ほどの投稿にあったとおりに
$ kill -9 4162
直ってくれーと祈りながらサーバーを起動してみると、大成功!
まとめると、こうすれば対処できるみたいです!
# PIDの確認
$ lsof -i:[ポートNo]
# プロセスの強制終了
$ kill -9 [PID]
さいごに
初投稿、なんだかすんなり書けました笑
また色々と投稿していきたいと思います!