如何检查nginx是否使用LuaJit而不是Lua?

如何检查nginx是否使用LuaJit而不是Lua?,nginx,lua,luajit,Nginx,Lua,Luajit,我用nginx安装了httplua模块,制作了一个非常好的脚本,但现在我想确定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-

我用nginx安装了
httplua模块
,制作了一个非常好的脚本,但现在我想确定
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。

编辑
nginx.conf
文件,将
位置添加到
服务器{}
块中:

location = /lua {
    default_type text/plain;
    content_by_lua '
        if jit then
            ngx.say(jit.version)
        else
            ngx.say("Not LuaJIT!")
        end
    ';
}
然后启动nginx服务器,然后在curl或您喜爱的web浏览器中访问/lua。如果您看到像“LuaJIT 2.0.2”这样的输出,那么您正在使用LuaJIT;否则,如果您看到“notluajit!”,那么您使用的是标准的lua5.1解释器

另一种更快的方法是,如果使用动态链接(通常情况下),则检查与nginx可执行文件链接的luadso文件:

如果你看到类似的东西

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

那么你使用的是LuaJIT。

如果jit然后打印'LuaJIT'结尾
嗨,Egor,你能告诉我应该在哪里写这个if语句吗,我对nginx和luaI都是新手,我对nginx也是新手。但是在Lua代码中的任何地方,如果jit,您都可以使用
。。结束
语句,检查您是否在LuaJIT下运行。谢谢,这确实是一个anwer@Egor,答案框更大,书写更方便。
libluajit-5.1.so.2 => /usr/local/openresty-debug/luajit/lib/libluajit-5.1.so.2 (0x00007fb3d38f6000)