web-dev-qa-db-de.com

Nginx-Fehler: bind () an 0.0.0.0:80 ist fehlgeschlagen. Zugang verweigert

Ich versuche, Nginx auszuführen, aber ich erhalte den folgenden Fehler:

bind () an 0.0.0.0:80 fehlgeschlagen (10013: Es wurde versucht, auf einen -socket auf eine Weise zuzugreifen, die durch seine Zugriffsberechtigungen verboten ist).

Bitte helfen Sie mir, welche Änderungen ich vornehmen muss, damit es funktioniert.

Ich habe versucht, andere Ports als 80 auszuführen, und es funktioniert. aber ich brauche es, um auf 80 zu laufen.

Hinweis: Ich arbeite unter Windows 7 mit der Eingabeaufforderung, die als Administrator ausgeführt wird.

19
Sagar

Wenn der Port bereits verwendet wird, können Sie den Standardport von 80 in einen anderen Port ändern, der nicht verwendet wird (möglicherweise 8070). In conf\nginx.conf :

server {
    listen       8070;
    ...
}

Nach dem Start sollten Sie localhost: 8070 treffen können.

32
Daniel Treiber

Sie müssen Administrator oder Root sein, um Port 80 zu binden. Etwas, das Sie tun können, wenn Sie nicht als Root ausgeführt werden können, besteht darin, dass Ihre Anwendung einen anderen Port (z. B. 8080) abhört und dann Nachrichten an 80 bis 8080 umleitet Linux leiten Sie Nachrichten mit iptables um. 

4
rodolk

Es ist möglich, dass Port 80 bereits verwendet wird. Um zu überprüfen, ob es verwendet wird, öffnen Sie die Eingabeaufforderung, geben Sie netstat –anb ein und suchen Sie nach Port 80. Wenn Sie die Anwendung oder den Dienst erkannt haben, beenden Sie den Task-Manager. 

Wenn es ein Dienst ist, der diesen Dienst verwendet, stoppen Sie den Dienst ordnungsgemäß, indem Sie services.msc über den Befehl run ausführen.

0
Samer Tufail
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)

Ich habe ein ähnliches Problem. Mein 80-Port hat IIS (Windows-Computer) abgehört. Durch das Stoppen von IIS wurden 80 Ports freigegeben.

Das Problem wurde behoben ... !!

0
Surya Venky