Ошибка Nginx-error: bind() до 0.0.0.0:80. доступ запрещен
Я пытаюсь запустить Nginx, но я получаю сообщение об ошибке ниже:
bind() до 0.0.0.0:80 не удалось (10013: попытка получить доступ к сокет, запрещенный его разрешениями доступа)
Просьба предоставить некоторую помощь о том, какие изменения мне нужно сделать, чтобы заставить ее работать?
Я пробовал работать на портах, отличных от 80, и он работает. но мне нужно, чтобы он работал на 80.
Примечание. Я запускаюсь в Windows 7 с командной строкой, запущенной в качестве администратора.
Ответы
Ответ 1
Если порт уже используется, вы можете изменить порт по умолчанию 80 на другой порт, который не используется (может быть, 8070). В conf\nginx.conf:
server {
listen 8070;
...
}
После запуска вы можете поразить localhost: 8070.
Ответ 2
Вы должны быть администратором или root, чтобы связывать порт 80. Что-то, что вы можете сделать, если вы не можете запускать от имени root, заключается в том, что ваше приложение прослушивает другой порт, например 8080, а затем перенаправляет сообщения, направленные на 80 8080. Если вы используете Linux, вы перенаправляете сообщения с помощью iptables.
Ответ 3
Возможно, порт 80 уже используется. Чтобы проверить, используется ли он, откройте командную строку и введите netstat –anb
и найдите порт 80. После того как вы обнаружили приложение или службу, используйте диспетчер задач, чтобы его убить.
Если это сервис, использующий его, прекратите услугу изящно, запустив services.msc
из команды run
.
Ответ 4
nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
У меня была похожая проблема, мой 80 порт слушал IIS (windows machine). Остановка IIS освободила 80 портов.
Проблема была решена... !!