wake-up-neo.com

(ubuntu) nginx: [emerg] bind () an 0.0.0.0:80 fehlgeschlagen (13: Erlaubnis verweigert)

Ich brauche Hilfe, um die Ursache für diesen Fehler zu ermitteln. Welche Berechtigungen benötigt nginx? Warum ist es so kompliziert?

20
user2350858

die Socket-API bind () an einen Port unter 1024, z. B. 80, wie in Ihrem Titel angegeben, benötigt Root-Zugriff.

hier ist " Bindet an Ports mit weniger als 1024 ohne Root-Zugriff "

und eine andere einfachere Möglichkeit ist, nginx als root auszuführen.

21
vvy

Wenn Sie einen Port verwenden, der größer als 1024 ist und über ein Root-Privileg verfügt, kann dieses Problem trotzdem auftreten. Dies kann durch SELinux verursacht werden:

Überprüfen Sie diesen Port, z. B. 8024, in einem separaten Port

Sudo semanage port -l | grep http_port_t

Wenn die Portliste keine 8024 ist, fügen Sie sie dem Segange-Port hinzu

Sudo semanage port -a -t http_port_t  -p tcp 8024

update in 2017.12.22

Manchmal ist Ihr SELinux disabled, Sie müssen es zuerst enforcing. Überprüfen Sie den Status von SELinux über 

$ sestatus

Weitere Schritte können in diesem wunderbaren Artikel gelesen werden: https://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-1-Basic-concepts

7
Belter

Wenn diese Meldung nach dem Ausführen von "nginx -t" angezeigt wird, haben Sie keine Berechtigung als Root "Sudo nginx -t"

2
Koudi

Die beste Lösung wäre:

1) Benutzer zu sudoers hinzufügen (mein Benutzer ist prod)

usermod -aG Sudo prod

2) Im Zirkus (Prozessmanager) hängt Sudo vor der ausführbaren Datei nginx an.

[watcher:nginx]
cmd = Sudo /usr/sbin/nginx
args = -c /home/t/Projects/x_b_11/etc/nginx.conf -p /home/t/Projects/x_b_11

3) und schließlich Zeile in die Datei/etc/sudoers einfügen (mein Benutzer ist prod). Diese Zeile vermeidet Fehler (Sudo: Kein tty vorhanden und kein Askpass-Programm angegeben). Möglicherweise müssen Sie die Sitzung erneut starten (Neustart). Genießen.

prod ALL = NOPASSWD: /usr/sbin/nginx
1
Taras Vaskiv

nginx benötigt root-Zugang. benutzen Sie bitte 

Sudo Nginx 

nächsten Schritt zusammen mit Ihrem Passwort

0
Pren Jak