#はじめに
久しぶりにrailsのサーバーを立ち上げようとしたら以下のエラーが出たので、解決方法をメモしておきます。
=> Booting Puma
=> Rails 5.1.6 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.9.1 (ruby 2.4.1-p111), codename: Private Caller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:8080
Exiting
/usr/local/rvm/gems/ruby-2.4.1/gems/puma-3.9.1/lib/puma/binder.rb:269:in `initialize': Address already in use - bind(2) for "127.0.0.1" port 8080 (Errno::EADDRINUSE)
from /usr/local/rvm/gems/ruby-2.4.1/gems/puma-3.9.1/lib/puma/binder.rb:269:in `new'
from /usr/local/rvm/gems/ruby-2.4.1/gems/puma-3.9.1/lib/puma/binder.rb:269:in `add_tcp_listener'
.
.
省略
.
.
from bin/rails:3:in `<main>'
#環境
- Rails 5.2.5
- Ruby 2.6.3
#原因と解決方法
下記コマンドでプロセスを確認しました。
lsof -i -P | grep 8080
私の場合、8080ポートっだったのですが、3000とか人によって異なるようです。
ruby 10463 ec2-user 11u IPv4 24076 0t0 TCP localhost:8080 (LISTEN)
数字は適当なのですが、コマンドで表示された10463のプロセスが邪魔してる様子。
なので、下記コマンドでプロセスを停止!
kill -9 10463
再度rails sしたら直りました。
久しぶりだったので、結構焦りましたが調べればなんてことなかった。
#参考にさせて頂いた記事