
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
Недавно, при выполнении перезагрузки веб-сервера (у меня был установлен именно nginx), возникли ошибки:
[root@localhost ~]# service nginx restart Stopping nginx: [FAILED] Starting nginx: nginx: [emerg] bind() to 0.0.0.0:8083 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8082 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8081 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] still could not bind() [FAILED]
Решение.
Если вы получаете следующее сообщение об ошибке, когда вы пытаетесь запустить Nginx:
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
Тогда это означает, что Nginx или другой процесс уже использует порт 80 ну или любой другой.
Для начала, посмотрим кто занял порт:
# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME clock-app 2883 captain 21u IPv4 31126 0t0 TCP 192.168.103.236:37139->87.245.221.115:http (ESTABLISHED) nginx 3646 root 9u IPv4 29444 0t0 TCP *:http (LISTEN)
Вы можете «убить» его с помощью:
$ sudo fuser -k 80/tcp
А потом попробуйте перезагрузить Nginx снова:
# service nginx restart
Ошибка «[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)» — решена.