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 が起動できるようになりました。
以上。
Comments