Nginx kann nicht für Port 80 verwendet werden. Funktioniert auch für jeden anderen Port

5943
Ariel Nonamë

Ich habe gerade Homebrews Nginx unter Mac OS X 10.11 (El Capitan) eingerichtet.

Wenn ich meine Ngnix-Konfiguration so eingestellt habe:

listen 127.0.0.1:8080;  listen 127.0.0.1:81;  listen 127.0.0.1:75; 

Es wird klappen. Aber wenn ich das hier einfügen:

listen 127.0.0.1:80; 

Es wird nicht Ich werde Verbindung abgelehnt, wenn ich gehehttp://127.0.0.1

pssagt, dass Nginx läuft, netstat -a | grep nginxoder netstat -a | grep 80sagt, dass dies nicht der Fall ist .

Natürlich als root ausführen (nicht, dass ich das zum Laufen brauche.) :8080

Und die Mac OS X Firewall läuft nicht.

Fehlerprotokoll zeigt das nicht mehr an:

2015/10/10 17:16:19 [emerg] 23906#0: bind() to 0.0.0.0:80 failed (48: Address already in use) 

Irgendwelche Ideen? Ich kann damit weiterarbeiten 8080(seltsamerweise 8080öffnet der 80Port beim Weiterfahren den Port und leitet ihn weiter 80).

4
Dies kann passieren, wenn Sie pow http://pow.cx bereits installiert haben. Es wird eine pfctl-Regel hinzugefügt, die den gesamten Datenverkehr an Port 80 an den pow-Port weiterleitet. Durch die Deinstallation von pow wird das Problem behoben. Es ist möglich, sowohl ngrix als auch pow zusammenzubringen, aber es ist ein bisschen fummelig. dwkns vor 8 Jahren 1

2 Antworten auf die Frage

1
JakeGould

Der Fehler lautet wie folgt:

2015/10/10 17:16:19 [emerg] 23906#0: bind() to 0.0.0.0:80 failed (48: Address already in use) 

Diese „Adresse bereits verwendet“ sagt alles aus: Etwas anderes auf Ihrem System verwendet Port 80. Haben Sie die Webfreigabe aktiviert oder ist Apache installiert und in Betrieb? Sie können dies überprüfen, indem Sie folgendermaßen lsofauf Ihrem System ausführen :

sudo lsof -i -P | grep -i "80" 

Auf diese Weise können Sie genau feststellen, welcher Prozess möglicherweise mit Port 80 ausgeführt wird. Wenn Sie wissen möchten, welche anderen Ports auf Ihrem Mac OS X-System auf "hören" eingestellt sind, führen Sie einfach den folgenden Befehl aus:

sudo lsof -i -P 
1
Ariel Nonamë

OSX neu gestartet. Hat funktioniert. Ich denke mit Linux wäre das anders.

Manchmal sollten wir wirklich einfach denken. Nach 1 Stunde Problem sah ich das und arbeitete :) Peshraw H. Ahmed vor 5 Jahren 0