fragen stichworte

Nginx config kann nicht neu geladen werden. Habe "bind () an 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)"

Ich habe versucht, ein HTTPS-Zertifikat zu installieren, und nachdem ich den Kopf einige Stunden gegen die Wand geschlagen hatte, wurde mir klar, dass Nginx NICHT die Änderungen übernimmt, die ich in meinen Site-Konfigurationsdateien in /etc/nginx/sites-available/

vorgenommen habe

Wenn ich service nginx restart starte, wird der Neustart ordnungsgemäß gestartet. Wenn ich nginx -t starte, heißt es, dass meine Syntax in Ordnung ist und mein Konfigurationstest erfolgreich ist. Wenn ich jedoch service nginx reload starte, erhalte ich eine Fehlermeldung mit der Aufschrift reload: Not running

Wenn ich in /var/log/nginx/error.log schaue, habe ich diese Fehler.

2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: still could not bind()

Nach dem Googeln stieß ich auf diesen Befehl netstat -plutn | grep 80, der mir ...

gibt
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      14642/nginx: worker
tcp6       0      0 :::80                   :::*                    LISTEN      14642/nginx: worker

Ich habe keine Ahnung, was das wirklich bedeutet, aber wenn man herum liest, scheint es, dass Nginx NICHT auf Port 80 laufen sollte. Nginx ist mein Webserver, möchte ich nicht, dass er auf Port 80 läuft?

Sie sind sich nicht sicher, wie Sie vorgehen sollen. Ich möchte, dass Nginx die Änderungen, die ich in meinen Site-Konfigurationsdateien vorgenommen habe, mit dem Befehl service nginx reload aufgreift, und gleichzeitig zögere ich nur die Befehle zum Kopieren/Einfügen, die ich im Internet finde, da ich 10 Websites auf dieser Website gehostet habe Server.

Wohin gehe ich falsch? Ich habe versucht, die default -Datei in meinem sites-available -Ordner zu löschen, wie von manchen vorgeschlagen, aber ich verstehe nicht wirklich, was das Problem ist und wie ich es beheben kann.

antworten

Das Problem ist behoben. Wie Tim sagte, habe ich den Befehl ps -ef | grep nginx ausgeführt und manuell kill PID für alle Prozesse ausgeführt. Dann lief ich service nginx restart und alles funktionierte gut. Als ich dann service nginx reload ausgeführt habe, habe ich KEINE Fehlermeldung erhalten, und mein HTTPS-Zertifikat funktioniert jetzt. Danke Tim und Dmourati für deine Hilfe

Klingt nach einem Problem mit Ihrem Init-Skript und dem Ort der PID-Datei für Nginx. Sie können Nginx wie folgt manuell töten:

sudo kill 14642

Starten Sie nginx dann wie folgt über das Init-Skript:

sudo service nginx start

Wenn Sie Ihr Init-Skript und Ihre nginx.conf-Datei kopieren/einfügen, bin ich sicher, dass wir das Problem mit der PID finden können.