如何检查nginx是否使用LuaJit而不是Lua?
我用nginx安装了如何检查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-
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)