開発環境でAddress already in useが時々発生するので、その対処方法。
環境
- rails4.1.2 & centos6.5
- vagrant
- unicorn
エラーの原因
このエラーは、動作中のunicornを終了しないでそのままvagrantを終了してしまうと、次回のvagrant起動時にunicornを起動する時に発生する。
対応方法
要するにportが既に使われている状態なので、portを調査してやればよい。私の場合、開発ではunicornを8083で動かしているので、
lsof -i:8083
とすれば良い。
次に、上記のコマンドで表示されたPIDをkill -9 {表示されたPID}で削除すると良い。殺せるプロセスが存在しているはずである。
unicornを起動
bundle exec unicorn_rails -c config/unicorn.rb -E development -D
上記の対応で起動するはずである。
また、boxによってはlsofがinstallされていない可能性もある。その場合は
sudo yum install lsof
でlsofをinstallしてやればよい。
以上。
0 件のコメント:
コメントを投稿