Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check if nginx uses LuaJit and not Lua?

Tags:

nginx

lua

luajit

I installed http-lua-module with nginx, made a script that works perfectly fine, but now I want to be sure that nginx uses LuaJit instead of Lua (because my research shows that LuaJit is faster).

I added to the .bushrc those lines of 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

I also recompiled nginx and now I just want to be sure that it uses LuaJit.

like image 466
Vor Avatar asked Sep 27 '13 17:09

Vor


1 Answers

Edit your nginx.conf file, add a location into your server {} block:

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

Then start your nginx server and then access /lua in curl or in your favorite web browser. If you see outputs like "LuaJIT 2.0.2", then you're using LuaJIT; otherwise, if you see "Not LuaJIT!", then you're using the standard Lua 5.1 interpreter.

Another quicker way is to check the Lua DSO file linked with your nginx executable if dynamic linking is used (which is usually the case):

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

If you see something like

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

Then you're using LuaJIT.

like image 175
agentzh Avatar answered Sep 27 '22 21:09

agentzh