1. Was ist nginx?nginx ist ein leistungsstarker HTTP- und Reverse-Proxy-Webserver mit geringem Speicherbedarf und starker Parallelität. Es gibt Berichte, dass Nginx bis zu 50.000 gleichzeitige Verbindungen erreichen kann. 2. Was kann nginx?
2.1 Was ist ein Forwardproxy?Der Client (Browser) konfiguriert den Proxyserver und greift über den Proxyserver auf das Internet zu. 2.2 Was ist ein Reverse-Proxy?Der Client sendet die Anfrage an den Reverse-Proxy-Server, der die Daten abruft und an den Client zurückgibt. 2.3 LastverteilungDer Client sendet mehrere Anfragen an den Server. Der Server verarbeitet die Anfragen und muss für einige Daten mit der Datenbank interagieren. Nachdem der Server die Verarbeitung abgeschlossen hat, gibt er die Ergebnisse an den Client zurück. Wenn ein einzelner Server das Problem nicht lösen kann, erstellen Sie einen Servercluster, um 2.4 Trennung von statischen und dynamischenUm die Analysegeschwindigkeit der Website zu verbessern, werden dynamische und statische Seiten von verschiedenen Servern analysiert, um den Druck auf den ursprünglichen Einzelserver zu verringern. 3. Grundlegende Operationen von nginx 1. Geben Sie vor der Verwendung das Nginx-Verzeichnis ein ./nginx -v 3. Starten Sie nginx ./nginx 4. Nginx herunterfahren ./nginx -s stoppen 5. Nginx neu laden ./nginx -s neu laden 6. Überprüfen Sie den Status von nginx ps -ef | grep nginx 3.1 Nginx-Konfigurationsdatei nginx/conf/nginx.conf 1. Globaler Block Inhalt aus der Konfigurationsdatei zum Ereignisblock. 2. Ereignisblock Die Ereignisblockdirektive betrifft hauptsächlich die Netzwerkverbindung zwischen dem Nginx-Server und dem Benutzer. Die maximale Anzahl von Verbindungen, die von Worker-Verbindungen unterstützt werden, beträgt 1024. 3.http-Block 3.2 Firewall-Einstellungen// Zeigen Sie die offene Portnummer an firewall-cmd --list-all // Offene Portnummer festlegen firewall-cmd --add-service=http –permanent // HTTP-Dienst in der Firewall dauerhaft öffnen firewall-cmd --add-port=80/tcp --permanent // Port 80 in der Firewall dauerhaft öffnen // Firewall neu starten firewall-cmd –reload IV. Fallbeispiel für die Implementierung eines Reverse-Proxys4.1.Nginx Reverse-Proxy-Implementierungsbeispiel 1Wirkung: Geben Sie eine Adresse ein und springen Sie zur Tomcat-Homepage Nginx konfiguriert den Reverse-Proxy und leitet Anfragen hauptsächlich über die Proxy_Pass-Konfiguration weiter. 1. Konfiguration des Domänennamens der Hosts-DateiKonfigurieren Sie die Entsprechung zwischen Domänenname und IP in der Hosts-Datei des Windows-Systems (Windods/System32/driver/etc/hosts auf Laufwerk C). 2. Konfiguration der Anforderungsweiterleitung in nginx (Reverse-Proxy-Konfiguration) nginx.confÄndern Sie hauptsächlich die Konfigurationen „server_name“ und „proxy_pass“:
Testerfolg 4.2Nginx Reverse Proxy-Implementierung, Fall 2Verwenden Sie den Nginx-Reverse-Proxy, um je nach Zugriffspfad zu verschiedenen Service-Ports zu springen. Der Nginx-Abhörport ist 9001 1. Vorbereitung Stellen Sie Tomcat 8080 bereit Stellen Sie tomcat8081 bereit Da die Standard-Portnummer von Tomcat 8080 ist, müssen Sie beim Festlegen der Portnummer von Tomcat einige Ports in server.xml ändern und Tomcat starten. Suchen Sie in den beiden Tomcat-Dateien nach Webapps, erstellen Sie in deren Verzeichnis zwei Dateien „edu“ und „vod“, legen Sie die HTML-Seite darin ab und testen Sie, ob auf die Seite erfolgreich zugegriffen werden kann. 2. Suchen Sie die Nginx-Konfigurationsdatei nginx.conf Server { hören Sie 9001; Servername 192.168.25.101; Standort ~ /edu/ { Proxy-Passwort http://127.0.0.1:8080; } Standort ~ /vod/ { Proxy-Passwort http://127.0.0.1:8081; } } 3. Öffnen Sie die Zugangsports 8080 8081 9001, sonst ist der Zugriff nicht möglich 4. Starten Sie nginx neu und testen Sie 5. Implementierungsfall für den Lastenausgleich1. Ergebnisse erzielen Geben Sie in die Browseradresse die Adresse http://192.168.17.129/edu/a.html ein, und der Lastausgleichseffekt wird gleichmäßig auf die Ports 8080 und 8081 verteilt. 2. Vorbereitung 1. Stellen Sie Tomcat 8080 bereit, stellen Sie Tomcat 8081 bereit 2. Erstellen Sie im Webapps-Verzeichnis der beiden Tomcats einen Ordner mit dem Namen edu und erstellen Sie zum Testen zwei Seiten a.html im Ordner 3. Nehmen Sie die entsprechende Konfiguration in der Nginx-Konfigurationsdatei vor und konfigurieren Sie sie unter http Upstream meinServer{ //Servernamen hinzufügen Server 192.168.17.129;8080; Server 192.168.17.129;8081; } Konfigurieren Sie dann unter Server und Standorta Servername 192.168.17.129: Standort /{ Proxy-Passwort http://meinServer; } 5.1nginx-Lastausgleichsstrategie
Jede Anfrage wird in chronologischer Reihenfolge einem anderen Backend-Server zugewiesen. Wenn ein Backend-Server ausfällt, kann er automatisch entfernt werden.
Gewicht stellt das Gewicht dar, der Standardwert ist 1, je höher das Gewicht, desto mehr Clients werden zugewiesen verwenden: Upstream meinServer{ //Servernamen hinzufügen Server 192.168.17.129;8080 Gewicht = 10; Server 192.168.17.129;8081 Gewicht = 20; }
Jede Anfrage wird anhand des Hash-Ergebnisses der Zugriffs-IP zugeordnet, so dass nachfolgende Zugriffe auf einen festen Backend-Server erfolgen können
Zuordnung basierend auf der Reaktionszeit. Upstream meinServer{ //Servernamen hinzufügen Server 192.168.17.129;8080; Server 192.168.17.129;8081; gerecht; } 6. Dynamische und statische Trennung von Nginx6.1 ImplementierungsprozessGeben Sie je nach Standort unterschiedliche Suffixe an, um eine unterschiedliche Anforderungsweiterleitung zu erreichen. Durch Konfigurieren des Parameters „expires“ können Sie eine Ablaufzeit für den Browser-Cache festlegen, um Anforderungen und Datenverkehr zwischen Server und Server zu reduzieren. 6.2 Beispiele1. Bereiten Sie statische Ressourcen vor 2. Spezifische Konfiguration
7. Nginx-Konfiguration mit hoher Verfügbarkeit7.1 Was ist Nginx-Hochverfügbarkeit?Wie aus der Abbildung ersichtlich, wird im vorherigen Betriebsmodus, wenn nur ein Nginx vorhanden ist, die Benutzeranforderung über Nginx an verschiedene Tomcats weitergeleitet. Wenn einer der Nginx ausfällt, schlägt die Dienstweiterleitung fehl. Wenn daher durch das Erstellen eines Nginx-Clusters der Ngnix des Hauptservers ausfällt, leitet der Ngnix des Backup-Servers die Benutzeranforderung erneut an Tomcat weiter und stellt so eine hohe Verfügbarkeit sicher. 7.2. Hochverfügbarkeitsvorbereitung für die Nginx-Konfiguration
yum installiere keepalive -y 7.3 HochverfügbarkeitskonfigurationSchließen Sie die Keepalive-Konfiguration ab und suchen Sie die Keepalive-Konfigurationsdatei keepalive.conf (1) Ändern Sie die Konfigurationsdatei /etc/keepalived/keepalivec.conf global_defs { Benachrichtigungs-E-Mail { [email protected] [email protected] [email protected] } Benachrichtigungs-E-Mail von [email protected] SMTP-Server 192.168.17.129 smtp_connect_timeout 30 Router-ID LVS_DEVEL } vrrp_script chk_http_port { Skript "/usr/local/src/nginx_check.sh" Intervall 2 # (Intervall zwischen der Ausführung des Erkennungsskripts) Gewicht 2 } vrrp_instance VI_1 { state BACKUP # Ändere MASTER in BACKUP auf dem Backup-Server Schnittstelle ens33 //Netzwerkkarte virtual_router_id 51 # Die virtual_router_id der Master- und Backup-Maschinen müssen dieselbe Priorität haben priority 90 # Die Master- und Backup-Maschinen haben unterschiedliche Prioritäten, die Master-Maschine hat einen höheren Wert und die Backup-Maschine einen niedrigeren Wert advertisement_int 1 Authentifizierung Authentizitätstyp PASS Auth_Passwort 1111 } virtuelle_IP-Adresse { 192.168.17.50 // VRRP H virtuelle Adresse } } (2) Fügen Sie ein Erkennungsskript in /usr/local/src hinzu A=`ps -C nginx –no-header |wc -l` wenn [ $A -eq 0 ];dann /usr/local/nginx/sbin/nginx Schlaf 2 wenn [ `ps -C nginx --no-header |wc -l` -eq 0 ];dann alles töten, am Leben bleiben fi fi (3) Starten Sie nginx und keepalived auf beiden Servern. Starten Sie nginx: ./nginx 7.4 Prüfung1). Geben Sie die virtuelle IP-Adresse in die Browseradresse ein: 192.168.17.50 Sie können direkt zugreifen 2) Wenn der Hauptserver nginx und keepalived gestoppt werden, kann die Seite weiterhin aufgerufen werden, wenn die virtuelle Adresse erneut eingegeben wird 8. Funktionsprinzip von nginxMeister & Arbeiter 8.1. Ein Master und mehrere Arbeiter haben Vorteile
8.2 Wie viele Arbeiter sollen eingestellt werden?
8.3. Anzahl der Verbindungen worker_connection Erstens: Wie viele Woker-Verbindungen werden durch das Senden einer Anfrage belegt?
Dies ist das Ende dieses Artikels zum Erlernen der Grundlagen von nginx. Weitere relevante grundlegende Inhalte zu nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Apropos „Weniger und mehr“ im Webdesign (Bild)
Dieser Artikel dokumentiert die Installation von ...
Vorwort gdb ist ein sehr nützliches Debugging-Too...
Im Folgenden habe ich einige grundlegende SQL-Ken...
1. Float + Überlauf: versteckt Diese Methode löst...
Laden Sie zuerst das komprimierte Nacos-Paket von...
<Text> <div id="Wurzel"> &l...
MySQL 8.0.19 unterstützt die Sperrung des Kontos ...
Die Standard-MySQL-Version unter dem Alibaba Clou...
MySQL ist ein relationales Datenbankverwaltungssy...
Inhaltsverzeichnis Was ist JSONP JSONP-Prinzip JS...
Software-Download Link zum Herunterladen der Soft...
Inhaltsverzeichnis Überblick Eigenschafteneinstel...
Inhaltsverzeichnis MySQL-Absturzwiederherstellung...
HTML-Semantik scheint ein alltägliches Problem zu...
Inhaltsverzeichnis Vorwort Finden Sie das Problem...