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:
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:
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.
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.