Address already in use: make_sock: could not bind to address [::]:80

Apacheを起動させようとして
Address already in use: make_sock: could not bind to address [::]:80
というのが表示されて起動できなかった時の話、もとい備忘録。


このメッセージは「既に80番ポートを使用しているプロセスがあるのでApahceを起動できません」ということ。
Apacheを切っているのに何故80番が塞がってるのかはよく分からないがとにかく80番を空けないといけない。

下記コマンドで80番ポートを使用しているプロセスを洗い出す。
/usr/sbin/lsof -i | grep http

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
python 6976 apache 3u IPv6 4898404 TCP *:http (LISTEN)
python 6976 apache 5u IPv6 4898409 TCP *:https (LISTEN)
perl 20385 apache 3u IPv6 4898404 TCP *:http (LISTEN)
perl 20385 apache 5u IPv6 4898409 TCP *:https (LISTEN)

よく分からないがとりあえずApacheのプロセスが動いていてしかもpythonとかperlとか表示されている。
pythonもperlも使用している覚えは無いが、これをどうにかすれば80番ポートは空くわけだ。

というわけで
kill 6976
でさくっとkill。

プロセスが・・・消えない・・・だと?(゜д゜

―――――と言うとでも思ったか?
よろしい、ならば強制終了だ。

kill -9 6976

という感じで80番ポートを使用しているプロセスを全部削除。

改めてApacheを起動したら無事に動作。

当サーバとは別のサーバで起こったことなのでどういう条件でこうなるのかはいまいちハッキリしてないけど、対処法はマスターしておいて損はないと思われ。

大阪の江坂でウェブ制作をしている、インフラもシステムもデザインもディレクションもできるエンジニア。 広く浅く薄っぺらくですが(笑)

Leave a reply:

Your email address will not be published.