ApacheがRestartできない!(98)Address already in use: make_sock…
Apacheが突然死しているようなので再起動してみたら、どうもおかしい。
一旦立ち上がったんだけど、もう一度リスタートかけようとすると、こんなエラーメッセージが出て、停止もできない。
[root@www home]# service httpd restart
httpd を停止中: [失敗]
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
[失敗]
httpd を停止中: [失敗]
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
[失敗]
これは通常、ポート80を他のプロセスが使用しているときに出るエラーメッセージ。
どうやらApacheが異常終了したせいで、古いApacheのプロセスが残っているのを、新しいApacheが「80番ポートが使われている!?」と誤解しているらしい。
広告
lsofでhttpのプロセスを調べ、一つずつ強制KILLすると解決する。
[root@www ~]# /usr/sbin/lsof -i | grep http
httpd 7524 apache 3u IPv6 401602 TCP *:http (LISTEN)
httpd 7524 apache 5u IPv6 401607 TCP *:https (LISTEN)
httpd 7524 apache 5u IPv6 401607 TCP *:https (LISTEN)
こいつらが80番ポートに居残っているプロセス。
[root@www ~]# kill -9 7464
[root@www ~]# kill -9 7491
[root@www ~]# kill -9 7491
キル!キル!
[root@www ~]# service httpd restart
httpd を停止中: [失敗]
httpd を起動中: [ OK ]
httpd を停止中: [失敗]
httpd を起動中: [ OK ]
全部キルしたらすっきりリスタートできるようになりました。
lsofコマンドか・・。使える。 RT ApacheがRestartできない!(98)Address already in use: make_sock… | Weblogy http://t.co/HZN3ZIBD
Perlモジュール(?)がなぜか生きてるんだよなー。殺した。
Perlモジュール(?)がなぜか生きてるんだよなー。殺した。 / “ApacheがRestartできない!(98)Address already in use: make_sock… – Weblogy” http://t.co/IvWds4n7
エラー:(98)Address already in use
というかkillall(またはpkill) -9 すりゃよかったのか。アホだな俺は。
助かりましたー
Wow! At last I got a blog from where I be able to in fact get valuable data
concerning my study and knowledge.
I do not even know how I ended up here, but I thought this post was great. I don’t know who you are but definitely you are going to a famous blogger if you aren’t already 😉 Cheers!