Мне нужна помощь в выяснении основной причины этого отказа запрещена. Какие разрешения требуется nginx? Почему это так сложно?
(ubuntu) nginx: [появление] bind() до 0.0.0.0:80 не удалось (13: отказ в доступе)
Ответ 1
API-интерфейс сокета() подключается к порту менее 1024, например 80, как указано в вашем названии, для доступа root.
здесь "Привязать к портам менее 1024 без доступа к корню"
и еще один простой способ - запустить nginx как root.
Ответ 2
Если вы используете порт размером более 1024 и привилегиями root, то все равно получите эту проблему, которая может быть вызвана SELinux
:
Проверьте этот порт, скажем, 8024, в сегменте сегана
sudo semanage port -l | grep http_port_t
Если в списке портов нет 8024, затем добавьте его в порт segange
sudo semanage port -a -t http_port_t -p tcp 8024
обновление в 2017.12.22
Иногда ваш SELinux disabled
, вам нужно сначала enforcing
его. Проверьте статус SELinux на
$ sestatus
Другие шаги могут прочитать эту замечательную статью: https://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-1-basic-concepts
Ответ 3
Если вы видите этот msg после запуска "nginx -t", у вас нет пропущенного запуска как root "sudo nginx -t"
Ответ 4
nginx нуждается в корневом доступе. используйте
sudo nginx
следующий шаг вместе с вашим паролем