vagrantでapacheの再起動ができない時の対処法

vagrant実行中にパソコンを再起動してしまい、vagrantが中断していたのでvagrant upし直してたのですが、サイトが表示されなかったのでapacheを再起動したところstartに失敗しました。その時のエラーが以下です。

エラー内容

$ service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

解決方法

ポートを占領しているプロセスを確認
$ sudo lsof -i | grep http

以下の文言が帰ってきた場合はlsofをインストールする
sudo: lsof: command not found

以下のコマンドでlsofをインストール
sudo yum install lsof
もともとインストールされていれば実行する必要はない

再度プロセスを確認

 

$ sudo lsof -i | grep http
httpd    27512   apache    4u  IPv6  90360      0t0  TCP *:http (LISTEN)
httpd    27520   apache    4u  IPv6  90360      0t0  TCP *:http (LISTEN)

プロセスをkillする
>

$ sudo kill -9 27512
$ sudo kill -9 27520

表示されたプロセスすべてを消して問題ない

service httpd restart

これでうまく行った。

参考サイト

他プロセスがポートを占有してhttpdを再起動できない
lsofコマンドでポートを使用しているプロセスを確認するメモ

コメントを残す