Running Lua unter nginx (Schreiben einer Website mit Lua)

8

Als Lernübung habe ich etwas Zeit darauf verwendet, Lua zu sammeln, indem ich einige grundlegende Apps erstelle. Ich habe es installiert und läuft gut auf Natty / Ubuntu, aber ich bin ein wenig verloren, wie man es mit Nginx schön spielen kann.

Ich habe ein bisschen hier Ссылка gelesen Und klonte dieses Repo Ссылка in meinen / etc / nginx-Ordner ...

Ich bin jedoch immer noch ziemlich verloren und unsicher, wie ich es auf einer einfachen Ebene zum Laufen bringen kann. Ist es möglich, etwas in meine nginx.conf-Datei einzufügen, um / lua-Anfragen zu bearbeiten, oder muss ich nginx komplett neu kompilieren? (Ich würde das lieber vermeiden).

Ich benutze bereits PHP unter Nginx über fpm für eine ganze Weile, aber ich bin mir wirklich nicht sicher, wo ich anfangen soll, Lua auf ähnliche Weise arbeiten zu lassen.

    
Jonathan Coe 24.02.2012, 16:33
quelle

4 Antworten

9

Das ngx_lua-Modul dient zum Ausführen von Lua-Code direkt auf dem nginx-Webserver. Es ist möglich, ganze Lua-Anwendungen auf diese Weise auszuführen, aber dies ist nicht das spezifische Ziel dieses Moduls. Tatsächlich sollten einige der Modul-Direktiven speziell nicht mit lang laufenden oder komplexen Routinen verwendet werden.

Sie müssen Nginx mit diesem Modul neu kompilieren, da Sie nicht einfach ein Nginx-Modul herunterladen und es so verwenden können.

Um Lua-Anwendungen ähnlich wie PHP auszuführen, können Sie nginx so konfigurieren, dass ".lua" -Anfragen an einen Lua-Handler (ähnlich PHP) übergeben werden.

  1. Sie können einen Webserver wie den Lua-Webserver, xavante einrichten oder thttpd oder auch Apache und "proxy_pass" dazu ähnlich wie viele tun mit Apache für PHP.

  2. Sie können Lua so einrichten, dass es als CGI läuft (ähnlich wie PHP mit FastCGI) obwohl Lua nicht das Äquivalent von FPM hat) und nennen dies als benötigt.

Sie brauchen ngx_lua für keine der beiden Optionen.

Grundsätzlich fallen PHP, Lua und so weiter unter die breite Kategorie der "CGI" -Skripte, und jedes "Wie" bei deren Ausführung kann auf Lua angewendet werden.

BTW openresty ist nur reguläres Nginx mit einigen Modulen von Drittanbietern, inklusive NGX_Lua und die Leute hinter OpenResty sind die gleichen wie ngx_Lua.

Sie können Nginx manuell beliebig viele der gleichen Module hinzufügen, wie Sie möchten.

    
Dayo 25.02.2012, 18:20
quelle
5

Ich habe es nicht mit der offiziellen nginx-Distribution versucht, aber es war einfach genug mit OpenResty ( Ссылка )

Siehe die Seite "Erste Schritte" für ein einfaches nginx.conf , um es zu testen.

    
finnw 24.02.2012 20:01
quelle
3

In Ubuntu können Sie lua-Modul für nginx verwenden, indem Sie einfach nginx-extras installieren.

    
timurb 07.04.2013 14:48
quelle
0

Sie müssen drei Module herunterladen und nginx neu kompilieren. Hier die Befehle, die Sie ausführen müssen

%Vor%

Danach können Sie beginnen, lua in Ihrer nginx.conf-Datei zu verwenden

    
paul 01.04.2013 07:35
quelle

Tags und Links