1. Einführung in Nginx 1. Was ist Nginx?
2. Warum Nginx verwenden?Angesichts der rasanten Entwicklung des Internets sind Einzelpunktserver schon lange nicht mehr in der Lage, den kontinuierlichen Zugriff von Zehntausenden oder gar Hunderttausenden Benutzern zu unterstützen. Beispielsweise kann ein Tomcat-Server unter idealen Bedingungen nur etwa 2.000 gleichzeitige Anfragen verarbeiten. Um dieses Problem zu lösen, sind mehrere Tomcat-Server zum Lastenausgleich erforderlich. Wie also soll ein Lastenausgleich erreicht werden? Eine dieser Lösungen ist Nginx. Wenn ein Benutzer eine Website besucht, fängt Nginx die Zugriffsanforderung ab und verteilt sie durch Polling gleichmäßig auf verschiedene Server. Darüber hinaus gibt es in Nginx eine ip_hash-Strategie, mit der die tatsächliche IP des Benutzers abgerufen und der Hash-Wert berechnet werden kann, um den Server auszuwählen. Dies ist auch eine hervorragende Methode zum Lastenausgleich. Daher ist die Beherrschung von Nginx zu einem unverzichtbaren Teil des Lernprozesses in der Webentwicklung geworden. 3. Was ist ein Forwardproxy?Forward-Proxy bedeutet, dass der Client seine Anfrage zuerst an den Proxy-Server sendet und der Proxy-Server die Anfrage dann an den Server weiterleitet. Das von uns üblicherweise verwendete VPN ist ein Proxyserver. Um eine Verbindung zu ausländischen Websites herzustellen, muss der Client einen Server verwenden, der als Proxy eine Verbindung zum externen Netzwerk herstellen kann, und der Client kann eine Verbindung zum Proxyserver herstellen. 4. Was ist ein Reverse-Proxy?Ein Reverse-Proxy unterscheidet sich von einem Forward-Proxy. Ein Forward-Proxy fungiert als Proxy für den Client, während ein Reverse-Proxy als Proxy für den Server fungiert. Wenn mehrere Server verteilt sind, ist ein Reverse-Proxy erforderlich, um dem Client den Zugriff auf dieselbe Website über die IP-Adresse zu ermöglichen. Nachdem Sie den Funktionsmechanismus des Reverse-Proxys verstanden haben, können Sie mit dem Erlernen von Nginx beginnen! 2. Installation von Nginx unter LinuxDa Nginx in Webservern weit verbreitet ist, wird in diesem Tutorial die Version 7.4 des Centos-Servers als Demonstration gewählt! 1. HerunterladenGehen Sie zur offiziellen Download-Seite: http://nginx.org/en/download.html, wählen Sie die stabile Version zum Herunterladen aus und laden Sie sie auf den Server hoch. 2. InstallationNachdem Sie das Tar-Paket auf den Server hochgeladen haben, entpacken Sie es in das aktuelle Verzeichnis tar -zxvf nginx-1.18.0.tar.gz -C ./ Gehen Sie in das entpackte Verzeichnis und führen Sie das Konfigurationsskript aus cd nginx-1.18.0/ ./konfigurieren Installieren Sie mit dem Befehl „make“ machen && machen installieren Verwenden Sie nach Abschluss der Installation den Befehl whereis, um den Installationsort von Nginx zu finden (standardmäßig im Verzeichnis /user/local/ installiert). wo ist nginx Geben Sie den Bin-Ordner im Installationsverzeichnis ein, starten Sie den Nginx-Dienst und greifen Sie auf den Standardport 80 des Servers zu, um zu überprüfen, ob die Installation erfolgreich war! 3. Erste Schritte mit der Nginx-Konfiguration 1. KonfigurationsdateiIm Nginx-Installationsverzeichnis befindet sich ein Ordner conf. Öffnen Sie darin die Datei nginx.conf. cd conf/ && vim nginx.conf 2. Reverse-Proxy für einen einzelnen ServerWie also verwendet man Nginx als Reverse-Proxy? Fügen Sie das Feld „proxy_pass“ im Standortparameter hinzu und geben Sie die Serveradresse und Portnummer ein, die einen Reverse-Proxy erfordern: Hinweis: Jede Konfigurationszeile muss mit einem Titel enden! ! ! #Konfigurieren Sie das Abhörverzeichnis wie folgt: / Standort / { Stamm-HTML; Index Index.html Index.htm; proxy_pass http://127.0.0.1:8080; # Reverse-Proxy für Port 8080 des lokalen Rechners # proxy_pass http://127.0.0.1:8081; # Sie können mehrere proxy_pass gleichzeitig konfigurieren, Reverse-Proxy für Port 8081 des lokalen Rechners} 3. Reverse-Proxy mehrere ServerWas ist, wenn mehrere Server vorhanden sind? Neben dem ständigen Hinzufügen von Proxy_Pass-Parametern ist die Konfiguration der Upstream-Servergruppe eine bessere Lösung! Fügen Sie dem HTTP-Block der Konfigurationsdatei das Upstream-Attribut hinzu: # Konfigurieren Sie eine Servergruppe mit dem Namen „Hallo“ Upstream Hallo { # Ein Server entspricht einem Server, es kann natürlich auch ein Webprogramm mit anderen Ports sein Server 127.0.0.1:8080; Server 127.0.0.1:8081; } # Ändern Sie den Reverse-Proxy im Standortblock in den Servergruppenstandort / { Stamm-HTML; Index Index.html Index.htm; proxy_pass http://hallo; # Reverse-Proxy für alle Server in der Hello-Server-Gruppe} 4. Führen Sie den Test durch 1. Starten Sie den DienstNachdem die Konfiguration abgeschlossen ist, geben Sie den sbin-Ordner im Nginx-Installationsverzeichnis ein und führen Sie das Nginx-Programm aus: /usr/local/nginx/sbin/nginx Wenn es zuvor gestartet wurde, muss der Nginx-Dienst nicht heruntergefahren werden. Lassen Sie Nginx einfach die Konfigurationsdatei neu laden: nginx -s neu laden Aktualisieren Sie den Browser. Bei erfolgreichem Reverse-Proxy wird der aufgerufene Pfad automatisch der Serveradresse in der Konfigurationsdatei zugeordnet! Wenn die Anzahl der Benutzer in Zukunft steigt, müssen Sie möglicherweise neue Server hinzufügen. Derzeit müssen Sie nur die Konfigurationsdatei ändern und den Befehl nginx -s reload verwenden, ohne den Nginx-Server herunterzufahren! 2. Beenden Sie den DienstEs gibt grundsätzlich zwei Möglichkeiten, den Nginx-Dienst herunterzufahren: nginx -s stop # Stoppen Sie sofort, unabhängig davon, ob es funktioniert oder nicht nginx -s quit # Warten Sie, bis der Prozess die aktuelle Arbeit abgeschlossen hat, und beenden Sie ihn dann sicher 5. Lastverteilung 1. Was ist Lastausgleich?Da verschiedene Server unterschiedliche Konfigurationen haben, wurde das Konzept des Lastenausgleichs eingeführt, um Hochleistungsservern die Zuweisung von mehr Anfragen zu ermöglichen. Wie bereits erwähnt, kann Nginx über viele Methoden zum Lastausgleich verfügen, z. B. gewichtetes Round-Robin (Standard), IP-Hash, URL-Hash usw. Hier stellen wir das gewichtete Round-Robin vor. Gewichtetes Round-Robin bedeutet, dass Nginx durch das Hinzufügen von Gewichtungswerten zu den Servern die Anfragen basierend auf den Gewichtungen verteilt. Je höher die Gewichtung, desto mehr Anfragen werden empfangen und umgekehrt: Die obige Abbildung konfiguriert drei Server. Im gewichteten Polling-Modus werden dem Server mit der Gewichtung 3 unter 6 verschiedenen Anforderungen 3 Anforderungen zugewiesen, dem Server mit der Gewichtung 2 werden 2 Anforderungen zugewiesen und dem Server mit der Gewichtung 1 wird 1 Anforderung zugewiesen. Durch Lastenausgleich wird das Risiko von Serverausfallzeiten in einer Umgebung mit hoher Parallelität erheblich verringert! 2. Konfigurieren Sie den Nginx-LastausgleichÖffnen Sie auf ähnliche Weise die Datei nginx.conf, um Folgendes zu konfigurieren: vim nginx.conf Fügen Sie den Gewichtsparameter im Upstream-Block hinzu: Upstream Hallo { Server Server1:8080 Gewicht = 3; # Konfigurieren Sie das Gewicht von Server1 auf 3 Server Server2:8080 Gewicht = 1; # Konfigurieren Sie das Gewicht von Server2 auf 1 } Führen Sie nach dem Hinzufügen nginx -s reload aus! Oben finden Sie den detaillierten Inhalt des Schnellstart-Tutorials für den Nginx-Dienst. Weitere Informationen zum Einführungstutorial für Nginx finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung des einfachen Stores von Vue
>>: W3C Tutorial (5): W3C XML Aktivitäten
1. Was ist Continuous Delivery Der Ausgabeprozess...
Ein Hauptmerkmal des WeChat 8.0-Updates ist die U...
Heute habe ich gelernt, MySQL zu installieren. Da...
In diesem Artikel wird der spezifische Prozess de...
Ich habe vor Kurzem angefangen, das NestJs-Framew...
Einführung Beim Schreiben von SQL bin ich heute a...
Kürzlich habe ich die Funktion zum Umbenennen ges...
Vorwort Hinweis: Die Testdatenbankversion ist MyS...
MySQL ist eine sehr leistungsfähige relationale D...
Detaillierte Erläuterung der MySQL-Existes- und N...
Der DIV-Schwebeeffekt (feste Position) wird aussc...
Inhaltsverzeichnis React-Native-Projektinitialisi...
Redux ist ein einfacher Statusmanager. Wir werden...
1. Python 3 herunterladen wget https://www.python...
Szenario 1: HTML: <div Klasse="äußere&quo...