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:
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:
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:
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
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
server {}
sollte seine eigenelisten
Richtlinie haben.Antworten:
Wahrscheinlich befinden sich andere Dateien (z. B. die
default
Konfiguration)/etc/nginx/sites-enabled
, die entfernt werden müssen.Dieses Problem wird durch eine Wiederholung des
default_server
Parameters verursacht, der an eine oder mehrerelisten
Anweisungen in Ihren Dateien übergeben wird. Sie werden wahrscheinlich feststellen, dass diese widersprüchliche Anweisung etwas Ähnliches lautet wie:Als Dokumentation zum Nginx-Kernmodul für
listen
Status:Dies bedeutet, dass
server
in Ihrer Konfiguration eine andere Datei oder ein anderer Block mitdefault_server
dem für Port 80 festgelegten Wert definiert sein muss . Nginx tritt diese zuerst vor Ihrermysite.com
Datei 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:
quelle
default_server
Schlüsselwort, das nur in einer Konfiguration erscheinen kann - Sie können mehrere Sites definieren mitlisten 80;
default_server
Parameter für jedesaddress:port
Paar nur einmal angezeigt werden . Dies bedeutet, dass es möglich (und üblich) ist,default_server
in einer Nginx-Gesamtkonfiguration mehrmals vorhanden zu sein, dies jedoch auf verschiedene IPs / Ports anzuwenden.Führen Sie dies am Terminal aus, um widersprüchliche Konfigurationen zu sehen, die denselben Port abhören:
quelle
OS Debian 10 + Nginx. In meinem Fall habe ich die Verknüpfung der "Standard" -Seite wie folgt aufgehoben:
quelle
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
quelle
rm -R previousServerFolderName
dannsudo service nginx restart
diesystemctl status nginx
Show "aktiv (laufend)" machen