2013-09-27 11 views
14

Ho installato http-lua-module con nginx, creato uno script che funziona perfettamente, ma ora voglio essere sicuro che nginx usi LuaJit anziché Lua (perché la mia ricerca mostra che LuaJit è più veloce).Come verificare se nginx usa LuaJit e non Lua?

ho aggiunto al .bushrc quelle righe di codice: nginx

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 

Ho anche ricompilato e ora voglio solo essere sicuro che utilizza LuaJit.

+2

'se jit poi stampa'LuaJIT 'fine' –

+0

Ciao Egor, puoi dirmi dove dovrei scrivere questa frase se sono, sono nuovo ad entrambi nginx e lua – Vor

+2

Sono nuovo anche a nginx. Ma ovunque nel tuo codice Lua puoi usare l'istruzione 'if jit then .. end' per verificare se corri sotto LuaJIT. –

risposta

21

Modificare il file nginx.conf, aggiungere un location nella vostra server {} blocco:

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

quindi avviare il server di nginx e quindi l'accesso/lua in ricciolo o nel vostro browser preferito. Se vedi uscite come "LuaJIT 2.0.2", allora stai usando LuaJIT; altrimenti, se vedi "Non LuaJIT!", allora stai usando l'interprete standard di Lua 5.1.

Un altro modo più veloce è quello di controllare il file Lua DSO collegato con il vostro eseguibile nginx se si utilizza il collegamento dinamico (che di solito è il caso):

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

Se vedete qualcosa di simile

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

Quindi stai usando LuaJIT.

Problemi correlati