nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginxを使っていて再起動しようとすると、なぜか再起動できないという事がありました。confファイルにNGなどはないです。
そこでエラーログをみてみるとエラーがりました

cat /var/log/messages
Apr  7 20:46:27 ik1-401-32566 nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Apr  7 20:46:27 ik1-401-32566 nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Apr  7 20:46:28 ik1-401-32566 nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Apr  7 20:46:28 ik1-401-32566 nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Apr  7 20:46:29 ik1-401-32566 nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

この対処法になります

状況

nginxはApacheにリバースプロキシの設定をしていてApacheは起動状態となっています

原因

古いhttpdのプロセスが残っているのが原因みたいです

対処法

古いプロセスをkillすれば問題ないです

sudo lsof -i | grep nginx

nginx   14843  nginx    6u  IPv4 243654      0t0  TCP *:http (LISTEN)
nginx   14843  nginx    7u  IPv4 243655      0t0  TCP *:https (LISTEN)

sudo kill 14843

等とプロセスをkillすれば再起動できます

個人支援・寄付について

サイトラボではBuildreeの開発などのため、現在個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではkyashというサービスをつかっております。ビットコインでも受け付けております。