Nginx verfügt als HTTP-Server über die folgenden Grundfunktionen: (Empfohlenes Lernen: Nginx-Tutorial)
Verarbeiten Sie statische Dateien, Indexdateien und automatische Indizierung; Pufferung offener Dateideskriptoren.
Cachelose Reverse-Proxy-Beschleunigung, einfacher Lastausgleich und Fehlertoleranz.
FastCGI, einfacher Lastausgleich und Fehlertoleranz.
Modularer Aufbau. Einschließlich Filter wie Gzipping, Bytebereiche, Chunked-Antworten und SSI-Filter. Wenn mehrere auf einer einzelnen Seite vorhandene SSIs von FastCGI oder einem anderen Proxyserver verarbeitet werden, kann diese Verarbeitung parallel ablaufen, ohne aufeinander zu warten.
Unterstützt SSL und TLSSNI.
Nginx wurde speziell für die Leistungsoptimierung entwickelt. Leistung ist der wichtigste Gesichtspunkt, und bei der Implementierung wird großer Wert auf Effizienz gelegt. Es unterstützt das Kernel-Poll-Modell und hält hohen Belastungen stand. Berichten zufolge kann es bis zu 50.000 gleichzeitige Verbindungen unterstützen.
Nginx hat eine hohe Stabilität. Wenn andere HTTP-Server auf Zugriffsspitzen stoßen oder jemand in böswilliger Absicht eine langsame Verbindung initiiert, kann dies auch dazu führen, dass der physische Speicher des Servers erschöpft ist, häufig ausgetauscht wird und die Antwort verloren geht, und der Server kann nur neu gestartet werden.
Sobald Apache beispielsweise mehr als 200 Prozesse hat, ist die Web-Antwortgeschwindigkeit offensichtlich sehr langsam. Nginx verwendet eine Technologie zur schrittweisen Ressourcenzuweisung, wodurch die CPU- und Speicherauslastung sehr gering ist.
Nginx gibt offiziell an, dass es 10.000 inaktive Verbindungen unterhält. Es belegt nur 2,5 MB Speicher, sodass Angriffe wie DOS für Nginx grundsätzlich nutzlos sind. In puncto Stabilität ist Nginx besser als lighthttpd.
Nginx unterstützt Hot Deployment. Es ist besonders einfach zu starten und kann fast rund um die Uhr laufen, ohne dass ein Neustart erforderlich ist, selbst wenn es mehrere Monate läuft. Sie können die Softwareversion auch ohne Serviceunterbrechung aktualisieren.
Nginx übernimmt das Master-Slave-Modell, das SMP voll ausnutzen und die Blockierungsverzögerung von Worker-Prozessen bei Festplatten-E/A reduzieren kann. Bei Verwendung von select()/poll()-Aufrufen können Sie auch die Anzahl der Verbindungen pro Prozess begrenzen.
Die Qualität des Nginx-Codes ist sehr hoch, der Code ist sehr standardisiert, die Techniken sind ausgereift und die Modulerweiterung ist ebenfalls einfach. Besonders hervorzuheben sind die leistungsstarken Upstream- und Filterketten. Upstream bildet eine gute Grundlage für das Schreiben von Modulen wie Reverse Proxy und Kommunikation mit anderen Servern.
Der coolste Teil der Filterkette ist, dass nicht jeder Filter warten muss, bis die Ausführung des vorherigen Filters abgeschlossen ist. Es kann die Ausgabe des vorherigen Filters als Eingabe des aktuellen Filters verwenden, was ein bisschen der Unix-Pipeline ähnelt.
Das bedeutet, dass ein Modul mit der Komprimierung der vom Backend-Server gesendeten Anfrage beginnen und den Komprimierungsstrom an den Client umleiten kann, bevor das Modul die gesamte Anfrage vom Backend-Server erhalten hat.
Nginx übernimmt einige der neuesten Funktionen des Betriebssystems, wie z. B. die Unterstützung für Sendfile (Linux 2.2+), Accept-Filter (FreeBSD 4.1+) und TCP_DEFER_ACCEPT (Linux 2.4+). Verbesserung der Leistung.
Natürlich ist Nginx noch sehr jung und es gibt einige Probleme. Zum Beispiel: Obwohl es in den letzten Jahren relativ wenige Dokumente gab, ist die aktuelle Dokumentation relativ umfassend Es gibt auch viele Informationen in Englisch und Chinesisch, und es stehen spezielle Bücher und Materialien zum Durchsuchen zur Verfügung.
Die Autoren und die Community von Nginx arbeiten ständig hart daran, es zu verbessern. Wir haben Grund zu der Annahme, dass Nginx weiterhin mit hoher Wachstumsrate am Markt für leichtgewichtige HTTP-Server teilhaben wird und eine bessere Zukunft haben wird.
Das obige ist der detaillierte Inhalt vonFeatures und Funktionen von Ngin als HTTP-Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!