So fügen Sie ein Lua-Modul zu Nginx hinzu

So fügen Sie ein Lua-Modul zu Nginx hinzu

Lua installieren

wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz 
tar -zxvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make && make install PREFIX=/usr/local/LuaJIT

etc/Profil hinzugefügt

# lua
exportiere LUAJIT_LIB=/usr/local/LuaJIT/lib 
exportiere LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0

Quelle etc./Profil

Laden Sie das Modul ngx_devel_kit herunter

wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz

Das NDK-Modul (nginx development kit) ist ein Modul, das die Kernfunktionen des nginx-Servers erweitert. Basierend darauf kann die Entwicklung von Modulen von Drittanbietern schnell umgesetzt werden. NDK bietet Funktionen und Makros zur Handhabung einiger grundlegender Aufgaben und reduziert so die für die Entwicklung von Modulen von Drittanbietern erforderliche Codemenge.

lua-nginx-module herunterladen

wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz

Das Modul lua-nginx-module ermöglicht die Ausführung von Lua direkt in nginx

Originalzusammenstellung anzeigen

nginx -V

wie:
Argumente konfigurieren: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-http_v2_module

Geben Sie das ursprüngliche Nginx-Verzeichnis ein:

./Konfigurieren --user=www --group=www --prefix=/usr/local/nginx --mit-http_stub_status_module --mit-http_ssl_module --mit-http_gzip_static_module --mit-http_sub_module --mit-http_v2_module --add-module=/root/lua-nginx-module-0.10.9rc7/ --add-module=/root/ngx_devel_kit-0.3.0

Führen Sie einfach „make“ aus, nicht „make install“.

Der Kompilierungsfehler dürfte darauf zurückzuführen sein, dass die Lua-Umgebungsvariable falsch ist.

nginx -V-Befehlsfehler./nginx: Fehler beim Laden gemeinsam genutzter Bibliotheken: libluajit-5.1.so.2: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

lösen:
echo "/usr/local/LuaJIT/lib" >> /etc/ld.so.conf

ldconfig

Nach dem Erfolg können Sie es mit nginx -V überprüfen und sicherstellen, dass kein Fehler vorliegt.

Sichern Sie das ursprüngliche Nginx als nginx_old

cp objs/nginx zum ursprünglichen Nginx und überschreiben Sie es.

Ausführen im Build-Verzeichnis

Upgrade durchführen

Nginx fügt Lua-Modul hinzu

prüfen:

Server{
 ...
 Standort /lua {
  Standardtyp "Text/HTML";
  Inhalt von Lua '
    ngx.say("Hallo, Lua!")
  ';
 }
 ...
}

Der Browser öffnet sich:

http://blog.13sai.com/lua

Du kannst „Hallo, Lua!“ sehen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Installieren Sie das WAF-Modul für Nginx unter Linux
  • Analyse des Prinzips von Nginx unter Verwendung des Lua-Moduls zur Implementierung von WAF

<<:  So gestalten Sie Ihre JavaScript-Funktionen eleganter

>>:  Detaillierte Erklärung der Requisiten und Kontextparameter der SetUp-Funktion in Vue3

Artikel empfehlen

So erstellen Sie schnell eine LAMP-Umgebung auf der CentOS-Plattform

Dieser Artikel beschreibt anhand eines Beispiels,...

Verwenden Sie js, um ein einfaches Schlangenspiel zu schreiben

In diesem Artikel wird der spezifische Code eines...

Die Umsetzung von Youdas neuem Petite-Vue

Inhaltsverzeichnis Vorwort Einführung Live Einfac...

Verwendung des Linux-Befehls bzip2

1. Befehlseinführung bzip2 wird zum Komprimieren ...

Beispiele für die Verwendung von MySQL-Abdeckungsindizes

Was ist ein Deckungsindex? Das Erstellen eines In...

Die Organisation W3C gibt Stilempfehlungen für HTML4

Dies ist die Stilempfehlung der W3C-Organisation f...

So drücken Sie relative Pfade in Linux aus

Wenn Ihr aktueller Pfad beispielsweise /var/log i...

Beispielcode zur Implementierung eines Laufschriftformats mit CSS3

Hintergrund Folgendes ist passiert: Luzhu erfuhr ...

Warum verwendet der MySQL-Datenbankindex den B+-Baum?

Bevor wir weiter analysieren, warum der MySQL-Dat...

25 Tools zur Verbesserung der Website-Benutzerfreundlichkeit und Conversion-Raten

Bei einer Website bezieht sich die Benutzerfreundl...

Implementierung des CSS-Ladeeffekts Pac-Man

emmm, der Name ist nur eine zufällige Vermutung 2...

So implementieren Sie die Kommunikation zwischen Docker-Containern

Szenario: Eine Laradock-Entwicklungsumgebung (php...

Analyse des kumulativen Aggregationsprinzips von MySQL und Anwendungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...