- Es handelt sich um einen Open-Source-, schnellen, leichten und leistungsstarken Webserver, der zur Bereitstellung statischer Dateien verwendet werden kann.
- NGINX gilt als beliebter Webserver hinter dem Apache-Webserver und Microsofts IIS.
- In seiner ersten Version fungierte NGINX für HTTP-Webserver. Heutzutage dient es jedoch auch als Reverse-Proxy-Server für die Protokolle HTTP, HTTPS, SMTP, IMAP, POP3, andererseits wird es auch als HTTP-Load-Balancer, HTTP-Cache und E-Mail-Proxy für IMAP, POP3 usw. verwendet SMTP.
- NGINX verbessert die Bereitstellung von Inhalten und Anwendungen, verbessert die Sicherheit und erleichtert die Skalierbarkeit und Verfügbarkeit für die am stärksten genutzten Websites im Internet.
- Kurz gesagt können wir sagen, dass Nginx einfach eine Art Software ist, die in Webservern verwendet wird, um gleichzeitige Anfragen zu bedienen.
- Früher haben wir Apache auf Webservern installiert, um diese Funktionen zu verwalten, aber da die Welt wächst und immer mehr Dinge gleichzeitig verlangt, taucht der Begriff Parallelität auf und Nginx wird für dieselbe Sache eingeführt.
- Nginx wurde von Igor Sysoev mit seiner 1. erstelltstVeröffentlichung im Oktober 2004 als Versuch, eine Antwort darauf zu geben C10k-Problem . Wobei C10k die Herausforderung darstellt, 10.000 Verbindungen gleichzeitig zu verwalten. Heutzutage gibt es noch mehr Verbindungen, die Webserver bewältigen müssen. Aus diesem Grund bietet Nginx eine ereignisgesteuerte und asynchrone Architektur. Diese Funktion macht Nginx zu den zuverlässigsten Servern hinsichtlich Skalierbarkeit und Geschwindigkeit.
- Zu den bekannten Unternehmen, die Nginx verwenden, gehören IBM, Google, Atlassian, Autodesk, GitLab, DuckDuckGo, T-Mobile, Microsoft, Adobe, Salesforce, VMware, LinkedIn, Cisco, Twitter, Apple, Intel, Facebook und viele mehr.
Warum NGINX verwenden?
NGINX bietet verschiedene Dienste wie Reverse-Proxy, Load Balancer und Netzwerkdienste mit Ratenbegrenzung. Reverse-Proxying ist nützlich, wenn mehrere Webdienste verschiedene Ports abhören und wir einen einzigen öffentlichen Endpunkt benötigen, um Anfragen intern umzuleiten. Dies würde es uns ermöglichen, mehrere Domänennamen auf Port 80 zu hosten und gleichzeitig eine Kombination aus verschiedenen NodeJs, Go und Java zu verwenden, um hinter den Kulissen separate Webdienste zu betreiben.
Nginx kann die Protokollierung, das Blacklisting, den Lastausgleich und die Bereitstellung statischer Dateien übernehmen, während sich die Webdienste auf das konzentrieren, was sie tun müssen.
Die Konfiguration von Nginx ist einfacher als die von Apache httpd. Nginx wurde für hohe Parallelität entwickelt und ist sehr schnell.
Wie funktioniert NGINX?
Bevor wir den Prozess von NGINX kennen, werfen wir einen Blick auf die Funktionsweise eines Webservers. Wenn wir das Öffnen einer Webseite anfordern, kontaktiert der Browser den Server. Anschließend sucht der Server nach den angeforderten Dateien für die Seite und sendet sie an den Browser. Dies ist die einfachste Art der Bearbeitung einer Anfrage.
Das obige Beispiel wird auch als einzelner Thread betrachtet. Traditionell erstellen Webserver wie Apache für jede Anfrage einen einzelnen Thread, aber Nginx funktioniert nicht auf diese Weise. Nginx arbeitet mit einer asynchronen, ereignisgesteuerten Architektur. Es verfolgt Ereignisse eines Prozesses intelligent.
Nginx hat seine Aufgabe unterteilt in: Arbeitsprozess Und Arbeitnehmerverbindungen . Hier werden Worker-Verbindungen verwendet, um die gestellte Anfrage und die erhaltene Antwort der Benutzer auf dem Webserver zu verwalten. Gleichzeitig werden diese Anforderungen an den übergeordneten Prozess weitergeleitet, der als Worker-Prozess bezeichnet wird.
Sehen wir uns ein Beispiel für den Nginx-Server an, der gleichzeitige MP3- und MP4-Dateianfragen verarbeitet:-
Aus dem obigen Diagramm können wir ersehen, dass eine einzelne Worker-Verbindung etwa 1024 Verbindungen gleichzeitig verarbeiten kann. Es ist die beste Fähigkeit einer Arbeitnehmerverbindung. Abhängig von der Art unseres Servers kann es in Nginx n-Nummern des Arbeitsprozesses geben, und jeder Arbeitsprozess verarbeitet unterschiedliche Aufgaben, sodass er mehr gleichzeitige Anforderungen verarbeiten kann.
Schließlich überträgt der Worker-Prozess die Anfragen an den Nginx-Master-Prozess, der nur auf die eindeutigen Anfragen direkt antwortet.
Da Worker Connection bis zu 1024 ähnliche Anfragen bearbeiten kann. Dadurch kann Nginx problemlos Tausende von Anfragen bearbeiten. Dies ist auch der Grund, warum Nginx zu einem hervorragenden Server für stark frequentierte Websites wie E-Commerce, Suchmaschinen und Cloud-Speicher geworden ist.
Funktionen von NGINX
Einige Funktionen von Nginx sind wie folgt:
- Reverse-Proxy mit Caching
- IPv6
- Lastverteilung
- Web-Sockets
- Umgang mit statischen Dateien, Indexdateien und automatischer Indizierung
- FastCGI-Unterstützung mit Caching
- URL-Umschreibung und -Umleitung
Was können NGINX und NGINX Plus für Sie tun?
Nginx und Nginx plus sind die besten Webserver und Anwendungsbereitstellungslösungen, die von stark frequentierten Websites wie Netflix, Dropbox und Zynga verwendet werden. Die meistbesuchten Websites wie Google, Netflix, Twitter, Facebook usw. verlassen sich auf Nginx und Nginx Plus, um ihre Inhalte sicher, zuverlässig und schnell bereitzustellen.
- Nginx macht Hardware-Load-Balancer überflüssig – Nginx ist Open Source, kostengünstiger und besser konfigurierbar als Hardware-Load-Balancer und wurde für moderne Cloud-Architekturen entwickelt.
Nginx plus bietet Unterstützung für die Neukonfiguration im laufenden Betrieb und lässt sich zur einfacheren Überwachung in moderne DevOps-Tools integrieren. - NNginx ist ein Multifunktionstool – mit der Verwendung von Nginx können wir dasselbe Tool wie unseren Load Balancer, Content Cache, Reverse Proxy und den Webserver verwenden. Es minimiert die Menge an Werkzeugen, die für die Konfiguration unserer Organisation erforderlich sind.
Nginx Plus bietet eine schnelle Reaktion auf den Kundensupport, sodass wir problemlos Hilfe bei der Diagnose jedes Teils unseres Stacks erhalten können, der Nginx Plus und Nginx verwendet. - NGINX entwickelt sich ständig weiter. Im letzten Jahrzehnt stand NGINX an der Spitze der Entwicklung des modernen Webs und hat dazu beigetragen, in allen Bereichen von HTTP/2 bis hin zur Unterstützung von Mikrodiensten eine Vorreiterrolle zu spielen.
Da sich die Entwicklung und Bereitstellung von Webanwendungen ständig weiterentwickelt, fügt NGINX Plus kontinuierlich Funktionen hinzu, um eine einwandfreie Anwendungsbereitstellung zu ermöglichen.