Как проверить, использует ли nginx LuaJit, а не Lua?

Я установил http-lua-module с nginx, сделал скрипт, который работает отлично, но теперь я хочу быть уверен, что nginx использует LuaJit вместо Lua (потому что мои исследования показывают, что LuaJit быстрее).

я добавил .bushrc эти строки кода :

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

Я тоже перекомпилировать nginx и теперь я просто хочу быть уверен, что он использует LuaJit.

1 ответов


редактировать добавьте location в своем server {} блок:

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

затем запустите сервер nginx, а затем доступ / lua в curl или в вашем любимом веб-браузере. Если вы видите такие выходы, как "LuaJIT 2.0.2", то вы используете LuaJIT; в противном случае, если вы видите "не LuaJIT!"тогда вы используете стандартный интерпретатор Lua 5.1.

другой более быстрый способ-проверить файл Lua DSO, связанный с исполняемым файлом nginx, если используется динамическая компоновка (которая обычно case):

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

если вы видите что-то вроде

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

тогда вы используете LuaJIT.