Nginx ist ein Hochleistungs-Webserver, der als Reverse-Proxy-Server verwendet werden kann und Lastausgleich und hohe Verfügbarkeit bietet. Durch die Verteilung von Client -Anfragen auf mehrere Backend -Server kann NGINX die Reaktionsgeschwindigkeit und die Gesamtleistung von Webdiensten verbessern. Zu den Hauptfunktionen gehören Anforderungsw ", Lastausgleich und Verarbeitung von HTTP -Header.
In Webanwendungen mit hohem Handel kann ein einzelner Server nicht zu viele Anfragen hosten, daher muss er durch Lastausgleich auf mehrere Backend-Server verteilt werden. Darüber hinaus kann die Reverse -Proxy -Technologie Kunden helfen, mit den nächsten Servern zu kommunizieren, die Latenz zu verringern und die Reaktionsgeschwindigkeit zu verbessern. Durch die Konfiguration von Nginx als Proxy -Server kann nicht nur das Ladeausgleich erreicht werden, sondern auch effektiv die Verfügbarkeit der Service und die Reaktionsgeschwindigkeit verbessert.
In Ubuntu System kann Nginx über APT installiert werden und verwenden den folgenden Befehl:
sudo apt-Get-Update sudo apt-get install nginx
Beim Konfigurieren eines Nginx -Proxy -Servers müssen Sie zunächst die Nginx -Konfigurationsdatei ändern. Der Dateipfad befindet sich normalerweise im Verzeichnis/etc/nginx/.
Vor der Änderung der Konfiguration wird empfohlen, die ursprüngliche Konfigurationsdatei zu sichern. Verwenden Sie den folgenden Befehl, um die ursprüngliche /etc/nginx/nginx.conf -Datei zu sichern:
CD /etc /nginx sudo cp nginx.conf nginx.conf.bak
Die Konfigurationsdatei von NGINX umfasst hauptsächlich zwei Teile: Upstream -Definition und Proxy_Pass -Einstellung.
Definieren Sie die IP -Adressen und Ports mehrerer Backend -Server im HTTP -Segment. Das folgende Beispiel konfiguriert 3 Backend -Server:
http { Upstream Backend { Server 192.168.1.101:80 Gewicht = 1; Server 192.168.1.102:80 Gewicht = 1; Server 192.168.1.103:80 Gewicht = 1; } }
Konfigurieren Sie Proxy_Pass im Serversegment und leiten Sie die Anforderung an den oben definierten Backend -Server weiter:
Server { Hören Sie 80; server_name Beispiel.com; Standort / { proxy_pass http: // Backend; } }
Nach Abschluss der Konfiguration müssen Sie den Nginx -Dienst neu starten, um die neue Konfiguration in Kraft zu setzen:
sudo service nginx neu starten
Nach Abschluss der grundlegenden Konfiguration können einige Optimierungen an Nginx vorgenommen werden, um die Leistung weiter zu verbessern.
Durch Aktivieren von Caching kann NGINX statische Dateien im Speicher speichern und die Reaktionszeit von Anforderungen verkürzen. Sie können der Konfigurationsdatei den folgenden Code hinzufügen, um den Cache zu aktivieren:
http { proxy_cache_path/var/cache/nginx stufen = 1: 2 keys_zone = my_cache: 10m inaktiv = 60m; proxy_cache_key "$ scheme $ request_method $ host $ request_uri"; proxy_cache_valid 200 304 12h; proxy_cache_valid 404 1m; }
Durch die Aktivierung der GZIP -Komprimierung kann die Größe der Datenübertragung verringert und die Reaktionsgeschwindigkeit von Webdiensten verbessert werden. Fügen Sie der Konfigurationsdatei einfach den folgenden Code hinzu:
http { gzip auf; gzip_min_length 1000; GZIP_TYPES -Text/Klartext/CSS -Anwendung/JSON -Anwendung/JavaScript Text/XML -Anwendung/XML+XML/RSS Text/JavaScript; }
Das Anpassen der Anzahl der Arbeitsprozesse von NGINX entsprechend der Anzahl der CPU -Kerne des Servers kann die Leistung verbessern. Das folgende Beispiel zeigt, wie die Anzahl der Arbeitsprozesse automatisch auf der Anzahl der CPU -Kerne festgelegt wird:
Worker_Processes Auto; Worker_CPU_AFFINTION AUTO; Worker_rlimit_nofile 8192;
Das Konfigurieren eines NGINX -Proxy -Servers kann die Reaktionsgeschwindigkeit und Leistung von Webdiensten erheblich verbessern. Durch rationales Konfigurieren von Lastausgleich, Reverse -Proxying und Aktivierung von Optimierungstechnologien wie Caching und GZIP -Komprimierung können effizientere und stabilere Webdienste erreicht werden. Achten Sie während des Konfigurationsprozesses unbedingt darauf, entsprechende Anpassungen und Optimierungen basierend auf der Server -Hardware -Umgebung vorzunehmen.