(98)Address already in useが出てApacheが起動しない

Last-modified: Sun, 18 Dec 2016 16:50:50 JST (306d)
  • Apacheが沢山起動しているサーバで、Apacheを再起動しようとしても、
    (98)Address already in use: make_sock: could not bind to address [::]:80のようなエラーがでて、再起動できないことがあります。
    これは、Apacheを強制終了した際、死にきれなくてPort80をつかんだままのプロセスが残っているので、起動したApacheがPort80を使えないときになります。
    まぁ大抵こんなのが出るときは緊急事態なので、
    # kill -9 httpd
    とすべてのApacheプロセスを強制終了してもいいのですが(ぉ
    まずは掴んでいるプロセスを調べます。
    参考:他プロセスがポートを占有してhttpdを再起動できない
    # lsof -i | grep httpd
    こんな感じでずらずら出てきます。
    # httpd    27512   apache    4u  IPv6  90360      0t0  TCP *:http (LISTEN)
    # httpd    27520   apache    4u  IPv6  90360      0t0  TCP *:http (LISTEN)
    このプロセスを強制終了させます。
    # kill -9 27512   
    掴んでいるプロセスがすべて死んだら、Apacheが起動できるはずです。

Counter: 175, today: 2, yesterday: 2

このページの参照回数は、175です。