Linux - Apache 再起動で Address already in use!

Updated:


先日、自宅サーバの Apache2 を再起動しようとしたら、以下のようなエラーが出力されて起動できませんでした。

# /etc/rc.d/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
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 を既に使用している場合に出力されるエラーメッセージのようです。

httpd が正常に停止できなったなら、起動時にエラーになるのも納得できるのですが・・・ httpd は正常に停止できているのに、ポート 80 が解放されないとは何か別のことが原因かもしれません。

とりあえず、以下解決方法です。

1.Apache 使用状況の確認

Apache の使用状況を確認します。

# lsof -i | grep http
httpd     10915 apache    4u  IPv6  11197      0t0  TCP *:http (LISTEN)
httpd     10915 apache    6u  IPv6  11201      0t0  TCP *:https (LISTEN)
httpd     10918 apache    4u  IPv6  11197      0t0  TCP *:http (LISTEN)
httpd     10918 apache    6u  IPv6  11201      0t0  TCP *:https (LISTEN)
httpd     10919 apache    4u  IPv6  11197      0t0  TCP *:http (LISTEN)
httpd     10919 apache    6u  IPv6  11201      0t0  TCP *:https (LISTEN)
httpd     10921 apache    4u  IPv6  11197      0t0  TCP *:http (LISTEN)
httpd     10921 apache    6u  IPv6  11201      0t0  TCP *:https (LISTEN)
httpd     10922 apache    4u  IPv6  11197      0t0  TCP *:http (LISTEN)
httpd     10922 apache    6u  IPv6  11201      0t0  TCP *:https (LISTEN)
httpd     10923 apache    4u  IPv6  11197      0t0  TCP *:http (LISTEN)
httpd     10923 apache    6u  IPv6  11201      0t0  TCP *:https (LISTEN)
httpd     10924 apache    4u  IPv6  11197      0t0  TCP *:http (LISTEN)
httpd     10924 apache    6u  IPv6  11201      0t0  TCP *:https (LISTEN)

こんなに?

2.プロセスの停止

以下のようにして、使用中のプロセスを停止します。

# kill 10915
# kill 10918
# kill 10919
# kill 10921
# kill 10922
# kill 10923
# kill 10924

3.Apache の使用状況の再確認

プロセスが停止されたか、再度確認してみます。

# lsof -i | grep http

何も出力されなければ OK です。


これで、Apache が起動できるようになりました。

以上。





 

Sponsored Link

 

Comments