How to check if nginx uses LuaJit and not Lua?

2019-04-18 08:23发布

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.

标签: nginx lua luajit
1条回答
闹够了就滚
2楼-- · 2019-04-18 08:35

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.

查看更多
登录 后发表回答