2013-09-27 16 views
14

Ich installierte http-lua-module mit Nginx, machte ein Skript, das funktioniert einwandfrei, aber jetzt möchte ich sicher sein, dass nginxLuaJit anstelle von Lua verwendet (weil meine Forschung zeigt, dass LuaJit schneller ist).Wie überprüft man, ob nginx LuaJit und nicht Lua verwendet?

habe ich auf die .bushrc diese Zeilen Code:

export LD_LIBRARY_PATH=/usr/local/luajit/lib:$LD_LIBRARY_PATH 
export LUAJIT_LIB=/usr/local/luajit/lib 
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0 

ich neu kompiliert nginx auch und jetzt will ich sicher sein, nur, dass es luajit verwendet.

+2

'wenn jit dann print'LuaJIT 'Ende' –

+0

Hallo Egor, können Sie mir sagen, wo soll ich diese If-Anweisung schreiben, ich bin neu sowohl für Nginx und Lua – Vor

+2

Ich bin neu zu Nginx auch. Aber überall in Ihrem Lua-Code können Sie die Anweisung 'if jit then .. end' verwenden, um zu überprüfen, ob Sie unter LuaJIT laufen. –

Antwort

21

Bearbeiten Sie Ihre nginx.conf Datei, ein location in Ihren server {} Block hinzu:

location = /lua { 
    default_type text/plain; 
    content_by_lua ' 
     if jit then 
      ngx.say(jit.version) 
     else 
      ngx.say("Not LuaJIT!") 
     end 
    '; 
} 

Dann wird Ihren nginx-Server starten und dann den Zugriff/lua in curl oder in Ihrem bevorzugten Web-Browser. Wenn Sie Ausgaben wie "LuaJIT 2.0.2" sehen, verwenden Sie LuaJIT; Wenn Sie "Nicht LuaJIT!" sehen, verwenden Sie den Standard-Lua 5.1-Interpreter.

Ein weiterer schneller Weg ist, die Lua DSO-Datei mit Ihrem nginx ausführbaren verbunden zu überprüfen, ob einem dynamischen Verbindung verwendet wird (was normalerweise der Fall ist):

ldd /path/to/your/nginx/sbin/nginx|grep -i lua 

Wenn Sie so etwas wie

sehen
libluajit-5.1.so.2 => /usr/local/openresty-debug/luajit/lib/libluajit-5.1.so.2 (0x00007fb3d38f6000) 

Dann verwenden Sie LuaJIT.

Verwandte Themen