Nginx – Upstream Server

Ein Upstream- Server ist ein Servertyp, an den Nginx als Proxy für die Verbindung fungiert. Dies bedeutet, dass Nginx die Anforderungen filtert und nur diejenigen sendet, die es verarbeiten kann. Diese Art von Servern kann sich in einer virtuellen Maschine, in einer anderen physischen Maschine oder sogar in Daemon-Diensten in einer UNIX- Umgebung befinden, die darauf warten, aufgerufen zu werden.

In der Praxis bedeutet dies, dass es sich um einen Apache- Server handeln kann, der so konfiguriert ist, dass er nur bestimmte Anforderungen über einen TCP- Port bedient, oder um eine Middleware, die Ruby für eine Rails- Anwendung interpretiert. Daher kann Nginx die anfänglichen Anfragen bearbeiten und der Reverse-Proxy der Dienste sein.

Einzigartige Upstream-Server

Es handelt sich um Server mit einem einzelnen Anstiegspunkt, wie durch ihren Namen angegeben. Ein Beispiel hierfür ist der Apache- Server, der in den meisten Konfigurationen, die wir finden, nicht für die gleichzeitige Verwendung mehrerer Verbindungen optimiert ist, seitdem er mit dem aufgeladen wurde Module, um statische Dateien zu bedienen, sinkt seine Wirksamkeit.

Hier kommt Nginx , der für die Verwaltung mehrerer Verbindungen verantwortlich ist und daher nur die Dateien an Apache weitergibt, die er wirklich interpretieren sollte, wie z. B. PHP- Dateien.

Eine Grundkonfiguration könnte sein:

nginx_upstreamserver.jpg

Was wir im Bild sehen, ist eine Konfiguration, bei der Nginx die Anforderungen direkt an Apache weiterleitet und die Beendigung der Verbindungen optimiert. Dies ist jedoch nicht so optimal wie die Konfiguration, die wir im folgenden Bild sehen werden, in der wir Nginx anweisen, die zu bedienen Statische und nicht-statische Dateien werden an Apache übergeben, wenn ein größerer Leistungsunterschied erzielt wird:

See also  Verwenden Sie Beschneiden und Skizzieren, um den Bildschirm Windows 10 Oktober 2018 zu erfassen

nginx_upstreamserver2.jpg

Wie funktioniert es
Die Funktionsweise dieses Prozesses ist sehr einfach. Die Direktive try_files testet , ob sie die Anforderung des Clients findet und bedienen kann. Andernfalls wird sie an Apache weitergeleitet, um die entsprechende Verarbeitung durchzuführen.

Mehrere Upstream-Server

Nginx kann auch mit mehreren Upstream-Servern zusammenarbeiten, wenn der Dienst, für den es als Reverse-Proxy dient, nur wenige Verbindungen verarbeiten kann und diese nicht überlastet.

Wie kann man das erreichen?
Um dies zu erreichen, folgen wir einer Struktur ähnlich der, die wir mit dem einzelnen Upstream gesehen haben. Erst jetzt müssen wir einen benutzerdefinierten Block mit den Routen der verschiedenen Server definieren und dann unseren proxy_pass dafür konfigurieren. Sehen wir uns ein einfaches Beispiel an:

nginx_upstreamserver3.jpg

Wir sehen, wie wir drei Server in einem Upstream-Block namens App definieren . In unserem Server-Block führen wir einen Proxy-Pass zum App-Block durch. Nginx verwendet dazu das Round-Robin-Schema, um die Anforderungen an die drei von uns definierten Upstream-Server zu senden . auf diese Weise das Ziel erreichen; Darüber hinaus kann Nginx auch andere Lastausgleichsalgorithmen verarbeiten.

Am Ende dieses Tutorials sehen wir noch einmal, wie Nginx über Funktionen verfügt, die es zu einer durchaus praktikablen Option in Umgebungen mit hohen Lastanforderungen machen.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *