nginx - doppelter Standardserverfehler

105

In meinem Fehlerprotokoll bekomme ich

[emerg] 10619 # 0: Ein doppelter Standardserver für 0.0.0.0:80 in /etc/nginx/sites-enabled/mysite.com:4

in Zeile 4 habe ich:

server_name mysite.com   www.mysite.com;

Irgendwelche Vorschläge?

Ymn
quelle
4
Veröffentlichen Sie Ihre vollständige Konfiguration. Jeder server {}sollte seine eigene listenRichtlinie haben.
Marki555
Wenn Sie etwas in Sites-fähig bearbeitet und die Verbindung unerwartet geschlossen haben, können Sie dort mit einer automatisch gespeicherten Datei aus dem Texteditor enden, sodass fast alle Konfigurationen dupliziert werden. Löschen Sie einfach diese Datei (für nano file.save).
LuisF

Antworten:

196

Wahrscheinlich befinden sich andere Dateien (z. B. die defaultKonfiguration) /etc/nginx/sites-enabled, die entfernt werden müssen.

Dieses Problem wird durch eine Wiederholung des default_serverParameters verursacht, der an eine oder mehrere listenAnweisungen in Ihren Dateien übergeben wird. Sie werden wahrscheinlich feststellen, dass diese widersprüchliche Anweisung etwas Ähnliches lautet wie:

listen 80 default_server;

Als Dokumentation zum Nginx-Kernmodul fürlisten Status:

Der default_serverParameter, falls vorhanden, bewirkt , dass der Server der Standardserver für die angegebenen wird address:portPaare. Wenn keine der Anweisungen den default_serverParameter hat, ist der erste Server mit dem address:portPaar der Standardserver für dieses Paar.

Dies bedeutet, dass serverin Ihrer Konfiguration eine andere Datei oder ein anderer Block mit default_serverdem für Port 80 festgelegten Wert definiert sein muss . Nginx tritt diese zuerst vor Ihrer mysite.comDatei auf. Versuchen Sie daher, diese andere Konfiguration zu entfernen oder anzupassen.

Wenn Sie Schwierigkeiten haben, herauszufinden, wo diese Anweisungen und Parameter festgelegt sind, versuchen Sie eine Suche wie folgt:

grep -R default_server /etc/nginx
davidjb
quelle
Vielen Dank. Es hat wirklich geholfen.
Koushik Das
29
Nur um klar zu sein, es ist das default_serverSchlüsselwort, das nur in einer Konfiguration erscheinen kann - Sie können mehrere Sites definieren mitlisten 80;
Eborbob
1
Danke, dir wird mir geholfen. In meinem Fall fand ich eine Veröffentlichung in /etc/nginx/sites-enabled/default.save
Andrew Grow
1
Nach dem Kommentar von @ Eborbob kann der default_serverParameter für jedes address:portPaar nur einmal angezeigt werden . Dies bedeutet, dass es möglich (und üblich) ist, default_serverin einer Nginx-Gesamtkonfiguration mehrmals vorhanden zu sein, dies jedoch auf verschiedene IPs / Ports anzuwenden.
Davidjb
2
Der Befehl grep war nur das Ticket. Es sind die einfachen Dinge, danke
FireDragon
5

Führen Sie dies am Terminal aus, um widersprüchliche Konfigurationen zu sehen, die denselben Port abhören:

grep -R default_server /etc/nginx
Eduardo A. Fernández Díaz
quelle
5

OS Debian 10 + Nginx. In meinem Fall habe ich die Verknüpfung der "Standard" -Seite wie folgt aufgehoben:

  1. cd / etc / nginx / sites-enabled
  2. Standard aufheben
  3. Service Nginx Neustart
Navid Nasir
quelle
4

Wenn Sie sich auf Digital Ocean befinden, bedeutet dies, dass Sie zu / etc / nginx / sites-enabled / gehen und dann mit rm -R digitalocean und default ENTFERNEN müssen

Es hat es für mich behoben!

Bild der Konsole unter Windows 10 mit Bitvise

user1465132
quelle
Dies war die einfache Antwort, die für mich funktioniert hat. Ich musste zu / etc / nginx / sites-enabled / gehen und rm -R previousServerFolderNamedann sudo service nginx restartdie systemctl status nginxShow "aktiv (laufend)" machen
Roly Poly