Ich habe vor kurzem damit begonnen, CDN-bezogene Geschäfte zu machen. Beispielsweise ist der Cache aller Websites auf dem Nginx-Server aufgebaut und es gibt verschiedene Weiterleitungs-, Proxy-, Caching- und Lastausgleichsfunktionen Alle Funktionen werden von Nginx unterstützt.
Viele Zugriffskontrollstrategien müssen mit Nginx-Embedded-LUA implementiert werden. Darüber hinaus gibt es eine Menge Logik und Geschäft im Zusammenhang mit CDN, die auf Nginx angepasst und entwickelt werden müssen Die Beherrschung von Nginx ist die Grundlage für die Entwicklung des CDN-Geschäfts.
Deshalb habe ich vor, einige Zeit damit zu verbringen, gleichzeitig Geschäfte zu studieren und zu entwickeln und die gesamte Lernerfahrung aufzuzeichnen, in der Hoffnung, Nginx besser zu verstehen.
Derzeit beschränkt sich das Verständnis von Nginx auf die folgenden Aspekte:
- 1 Nginx ist eine Open-Source-Software, die auf a basiert Russischer Master Ein Hochleistungs-WEB-Server mit ereignisgesteuerter Modell-C/S-Architektur, der hauptsächlich HTTP- und E-Mail-bezogene Protokolle unterstützt.
- 2 Nginx hat die beste Leistung unter den WEB-Servern, obwohl es beim Marktanteil nur an zweiter Stelle steht, ist Apache in der Java-Welt natürlich der erste.
- 3 Derzeit basiert das Back-End der gängigen inländischen CDN-Dienste fast ausschließlich auf Nginx.
- 4 Nginx ist sehr leistungsstark und unterstützt Forward-Proxy, Reverse-Proxy, Caching, Lastausgleich und viele andere Funktionen.
- 5 Nginx kann die Lua-Erweiterung sehr gut unterstützen und den Lua-Interpreter intern laden, wodurch eine perfekte Anpassung an die Lua-Sprache erreicht wird. Derzeit werden viele Funktionen in Lua-Skripten ausgeführt.
- 6 Nginx verwendet eine Multiprozess-Verwaltungsmethode mit einem Master-Manager und 0 bis mehreren Worker-Prozessen. Alle spezifischen Geschäfte werden von bestimmten Workern ausgeführt. Dem Kapitän obliegt lediglich die Leitungs- und Terminplanung.
- 7 Nginx verwendet eine Pipeline, um den Nachrichtenfluss zu verarbeiten. Der Verarbeitungsprozess ist in 11 Phasen unterteilt. Es besteht keine Notwendigkeit, ihn zu beenden früh, wenn die Bedingungen erfüllt sind. Die drei bekanntesten Phasen sind Umschreiben, Zugriff und Inhalt. Beim Umschreiben geht es darum, eine interne Verarbeitung der URL durchzuführen, einschließlich Überprüfung, Änderung von Attributen, Umleitung usw., der Zugriff dient hauptsächlich der Implementierung der Zugriffskontrolle usw. und der Inhalt dient der Generierung des endgültigen Inhalts, der an den Benutzer gesendet wird.
- 8 Es gibt viele Datenstrukturen in Nginx, einschließlich Zeichenfolgen, verknüpften Listen, Hashes und radix_tree (zuvor verwendet) usw. Es ist am besten, diese Datenstrukturen zu beherrschen.
- 9 Es gibt ein Open-Source-Projekt namens openresty, das den Kern von Nginx und häufig verwendete Module von Drittanbietern enthält. Wenn Sie es schnell erstellen möchten, können Sie darauf zurückgreifen.
Das Obige stellt das Nginx-Lernen (1) vor, einschließlich verschiedener Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.