Problembeschreibung Ein Spring + Angular-Projekt mit getrenntem Front-End und Back-End, das Nginx zur Datenweiterleitung verwendet. Nginx lauscht auf Port 8100, Front-End-Port 4200 und Back-End-Port 8080. Konfigurieren Sie MySQL und Redis wie gewohnt im Voraus, importieren Sie die Nginx-Konfigurationsdatei des Projekts und starten Sie dann das Frontend und das Backend erfolgreich. Dann trat ein Problem auf: Nur eine sehr kleine Anzahl der vom Front-End initiierten Anfragen konnte vom Back-End empfangen werden, und die meisten davon waren 404. Als ich auf den Browser klickte, erschien ständig 404 in der Konsole. Wenn es nur 404 ist, ist das Problem sehr einfach: Es ist sehr wahrscheinlich, dass die Nginx-Portweiterleitungseinstellungen falsch sind. Das Magische daran ist jedoch, dass es dennoch einige Anfragen gibt, die in den Hintergrund gelangen können. (Im obigen Bild gibt der Hintergrund relevante Konsoleninformationen aus, wenn das Speichern erfolgreich ist.) Andere Freunde hatten dieses Problem nicht, also begann ich, der Sache auf den Grund zu gehen. Fehlerbehebungsprozess Um herauszufinden, ob es sich um ein Backend- Problem oder ein Nginx- Weiterleitungsproblem handelt, müssen Sie zunächst im Netzwerk des Browsers prüfen, ob die 404-Fehlermeldung vom Backend oder von Nginx zurückgegeben wird. Nach der Überprüfung stellte ich fest, dass es von Nginx zurückgegeben wurde. Wenn der Hintergrund 404 zurückgibt, werden die Fehlerinformationen in den HTTP-Anforderungsheader geschrieben. Überprüfen Sie zunächst, ob es einen Konflikt im Abhörport gibt. Verwenden Sie nginx -T, um die vollständige Nginx-Konfigurationsdatei einschließlich der importierten externen Dateien anzuzeigen. // Testen, ob die Konfigurationsdatei korrekt ist und die komplette Konfigurationsdatei ausgeben nginx -T In den Ausgabeergebnissen wird nur 8100 angezeigt, was darauf hinweist, dass trotz der Einführung mehrerer Projekte kein Abhörportkonflikt vorliegt. Dann habe ich vor, im Nginx-Protokoll nach Hinweisen zu suchen. Nachdem ich den Protokollmodus von Nginx aktiviert hatte, überprüfte ich die Protokolldateien und fand Tausende von Zugriffsaufzeichnungen. Die meisten sind 404-Fehler, einige 200-Fehler, aber die Protokolle liefern nicht viele nützliche Informationen. Schließlich wurde das Problem in der Konfigurationsdatei gefunden: Für Nginx, das mit HomeBrew installiert wurde, ist der Standard-Abhörport in der globalen Konfigurationsdatei 8080, und der vom Projekt-Backend belegte Port ist ebenfalls 8080. Obwohl ich nicht viel über die Prinzipien der Portüberwachung und Portbelegung weiß, weiß ich zumindest, dass, da Nginx Port 8080 überwacht, einige Anfragen an Nginx selbst gesendet werden und der andere Teil in den Hintergrund gesendet wird. Modifizieren Sie daher die globale Konfigurationsdatei, ändern Sie den Standardport und das Problem ist gelöst. // Ändern Sie die Konfigurationsdatei sudo vim /usr/local/etc/nginx/nginx.conf // Testkonfigurationsdatei nginx -t // Nginx neu starten nginx -s neu laden Schließlich können alle Anfragen das Backend erreichen. Zusammenfassen Als ich anfing, XAMPP zu lernen, hörte ich oft: „Wenn es einen Konflikt mit Port 80 gibt, ändern Sie den Port, zum Beispiel auf 8080.“ Aber wenn 8080 zur Gewohnheit wird, werden einige Projekte auch diesen Port verwenden … also müssen wir das Konfliktproblem lösen. Wenn Sie den Standardport in Zukunft ändern, wird empfohlen, ihn auf einen Port zu ändern, der wahrscheinlich nicht verwendet wird, z. B. eine Portnummer über 10000, um Konflikte mit dem Port des Projekts zu vermeiden. Dies ist das Ende dieses Artikels mit Beispielen für Methoden zur Fehlerbehebung bei Nginx-Portkonflikten. Weitere Informationen zu Methoden zur Fehlerbehebung bei Nginx-Portkonflikten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Natives, benutzerdefiniertes Rechtsklickmenü von js
Was ist ein Ansichtsfenster? Mobile Browser platz...
veranschaulichen: Als ich heute das letzte Experi...
Inhaltsverzeichnis webpack5 Offizieller Start Bau...
In diesem Artikelbeispiel wird der spezifische JS...
Inhaltsverzeichnis 1. Zusatzfunktionen 2. Beispie...
Dieser Artikel stellt einige häufig verwendete Fu...
Ich erinnere mich, dass mir bei meinem Vorstellun...
In diesem Artikel erfahren Sie, wie Sie mit Vue d...
Fehlermeldung: FEHLER 2002 (HY000): Verbindung zu...
Wie installiere ich MySQL 5.7 in Ubuntu 16.04? In...
Viele Internetnutzer fragen sich oft, warum ihre W...
Dieser Artikel stellt vor Online-Vorschau und Dow...
1. Nach der Installation von MySQL 5.6 kann es ni...
1. Entwicklungsumgebung vue 2. Computersystem Win...
Im täglichen Geschäftsleben gibt es zwei gängige ...