Nginx-Tutorial
Aug 08, 2016 am 09:23 AMNginx und Lua
Zitate von Fire Cloud Evil God: In den Kampfkünsten der Welt ist nichts unzerbrechlich, nur Geschwindigkeit! Die Spezialit?t von Nginx ist Geschwindigkeit, und die Spezialit?t von Lua ist Geschwindigkeit. Die Kombination der beiden hat zweifellos einen genetischen Geschwindigkeitsvorteil.
Der erste, der Nginx und Lua kombinierte, war OpenResty, das über ein ngx_lua-Modul verfügt, das Lua in Nginx einbettet; dann enthielt Tengine auch das ngx_lua-Modul. Was den Unterschied zwischen den beiden betrifft: OpenResty ist das Bundle von Nginx; w?hrend Tengine der Fork von Nginx ist. Es ist erw?hnenswert, dass OpenResty und Tengine beide von Chinesen erstellte Projekte sind. Ersteres wird haupts?chlich von Chun Ge und Xiaozhe entwickelt, und letzteres wird haupts?chlich von Taobao verwaltet.
Was die Vor- und Nachteile von OpenResty und Tengine angeht, bleibt es jedem überlassen, selbst zu urteilen. Die folgenden Informationen stehen als Referenz zur Verfügung:
- ngx_openresty: ein von Lua geklebtes Nginx-?kosystem
- Anwendungs-, Anpassungs- und Entwicklungspraxis von Taobao Nginx
Empfehlenswert ist die Lektüre des Artikels von Chun Ge im Tech-Club über ?Die von Lua geklebte ?kologische Nginx-Umgebung“ '' s Redeaufzeichnung, es gibt Informationen!
Installation
erfordert die neueste Version von Nginx, LuaJIT, ngx_devel_kit, ngx_lua und anderen Installationsdateien.
Die Installation von Lua oder LuaJIT ist m?glich, aus Effizienzgründen wird jedoch die Installation von LuaJIT empfohlen.
Da es im Standardpfad installiert ist, befinden sich die lib und das Include, die LuaJIT entsprechen, alle im Verzeichnis /usr/local.
Jetzt k?nnen Sie Nginx kompilieren:
Versuchen Sie, Nginx zu starten und sehen Sie, ob Sie Pech haben. M?glicherweise tritt die folgende Fehlermeldung auf:
Freigegebene Objektdatei kann nicht ge?ffnet werden: Keine solche Datei oder kein solches Verzeichnis
Ist das eine seltsame Situation? Sie k?nnen den Befehl ldd verwenden, um Folgendes zu überprüfen:
Solche Probleme k?nnen normalerweise mit dem Befehl ldconfig gel?st werden:
Versuchen Sie, Nginx erneut zu starten, und es sollte in Ordnung sein.
Anwendung
Lassen Sie uns die Dinge zun?chst mit einem einfachen Programm aufw?rmen: Fügen Sie den folgenden Code zur Nginx-Konfigurationsdatei nginx.conf hinzu, starten Sie Nginx neu und durchsuchen Sie dann. Sie k?nnen sehen, dass es funktioniert hat.
Bevor Sie ngx_lua eingehend lernen, wird empfohlen, das von Bruder Chun verfasste Nginx-Tutorial sorgf?ltig zu lesen.
Hier werde ich über den entscheidenden Punkt sprechen: Die in der Nginx-Konfigurationsdatei verwendete Sprache ist im Wesentlichen ?deklarativ“ und nicht ?prozedural“. Wenn Nginx eine Anfrage verarbeitet, wird die Ausführung von Anweisungen nicht durch die physische Reihenfolge bestimmt, in der die Anweisungen definiert werden, sondern h?ngt von der Phase ab, zu der die Anweisungen geh?ren. Die in Nginx h?ufig verwendeten Phasen sind: Rewrite-Phase, Zugriffsphase, Inhaltsphase , usw. . Die set-Anweisung im Democode geh?rt zur Rewrite-Phase und die content_by_lua-Anweisung geh?rt zur Content-Phase. Wenn Sie versuchen, die Reihenfolge der beiden Anweisungen zu vertauschen, werden Sie feststellen, dass das Programm weiterhin normal ausgeführt werden kann.
Versuchen wir, ein praktischeres Beispiel mit Redis zu schreiben.
Zuerst müssen wir eine Redis-Konfigurationsdatei config.json mit folgendem Inhalt erstellen:
Dann erstellen wir ein Skript init.lua, das die Konfigurationsdatei analysiert, die verwendet wird Lua CJSON-Modul:
Beschreibung: Im Code wird Shared Memory verwendet, sodass Sie nicht bei jeder Anfrage die Konfigurationsdatei analysieren müssen.
Als n?chstes erstellen wir ein Skript content.lua, das Inhalte mithilfe von Resty rendert Redis-Modul:
Hinweis: Es wird empfohlen, das Resty Redis-Modul im Herstellerverzeichnis abzulegen und es sp?ter in Nginx einzurichten.
Zuletzt müssen wir es in der Nginx-Konfigurationsdatei einrichten:
Hinweis: Um das Debuggen zu erleichtern, habe ich lua_code_cache deaktiviert. Wenn es sich um eine Produktionsumgebung handelt, sollte dies der Fall sein eingeschaltet.
Au?erdem müssen Sie bei der Installation von CJSON auf den Pfad der Header-Datei im Makefile achten. Der Standardwert ist:
Wenn Sie LuaJIT installieren, ist dies der Fall Am besten kopieren Sie die Header-Datei in das entsprechende Verzeichnis:
…
Ein Projekt, an dem ich kürzlich teilgenommen habe, stellt einige Schnittstellen für Web-Polling bereit, die alle mit Nginx+Lua implementiert sind, obwohl dort Insgesamt sind es nur ein Dutzend. Der Server kann jeden Tag Milliarden von Anfragen bereitstellen, was sehr leistungsstark ist.
Lassen Sie mich abschlie?end ein Zitat eines Verlierers zitieren: Lua ist der Favorit unverheirateter m?nnlicher Programmierer.
Dieser Eintrag wurde von Lao Wang in der Kategorie ?Technisch“ ver?ffentlicht und mit Lua und Nginx getaggt. Permalink zu Favoriten hinzufügen.Es gibt 29 Kommentare zu ?NGINX und LUA“
Das Obige hat das Nginx-Tutorial vorgestellt, einschlie?lich verschiedener Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. ?ndern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

Sie k?nnen den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So best?tigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. überprüfen Sie, ob Port 80 ge?ffnet ist; 3. überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

Frage: Wie starte ich Nginx? Antwort: Installieren Sie Nginx Startup Nginx -Verifizierung Nginx Is Nginx Start Erkunden

Nginx und Apache haben ihre eigenen Vor- und Nachteile und eignen sich für verschiedene Szenarien. 1.Nginx ist für hohe Parallelit?ts- und geringe Ressourcenverbrauchsszenarien geeignet. 2. Apache eignet sich für Szenarien, in denen komplexe Konfigurationen und reichhaltige Module erforderlich sind. Durch den Vergleich ihrer Kernfunktionen, Leistungsunterschiede und Best Practices k?nnen Sie die Serversoftware ausw?hlen, die Ihren Anforderungen am besten entspricht.

Praktische Tipps zur Verbesserung der PHPStorm -Leistung in CentOS -Systemen Dieser Artikel bietet eine Vielzahl von Methoden, mit denen Sie die Leistung von PHPStorm in CentOS -Systemen optimieren und die Entwicklungseffizienz verbessern k?nnen. Stellen Sie vor der Implementierung von Optimierungsma?nahmen unbedingt wichtige Daten und überprüfen Sie die Ergebnisse in der Testumgebung. 1. Optimierungs- und Stromlinien-Systemdienste auf Systemebene: Deaktivieren Sie unn?tige Systemdienste und D?monen, um die Nutzung der Systemressourcen zu reduzieren. Interfaceless -Modus: Das Umschalten in den interfaclosen Modus kann Ressourcen erheblich sparen, wenn Sie keine grafische Schnittstelle ben?tigen. Deinstallieren Sie redundante Software: Entfernen Sie Softwarepakete und -dienste, die nicht mehr verwendet werden, und die Systemressourcen frei. 2. Die PHP -Konfigurationsoptimierung aktivieren OPCACHE: Installieren und Konfigurieren von OPCache -Erweiterungen zur Anzeige
