lua-var-nginx-module
lua-var-nginx-module copied to clipboard
Fetch nginx variable by FFI way for OpenResty which is faster
lua-var-nginx-module
Fetchs Nginx variable by Luajit with FFI way which is fast and cheap.
Compares to ngx.var.*, performance has increased by more than five times. ^_^
Table of Contents
- Install
- Methods
- request
- fetch
- TODO
Install
Compiles the nginx c module to OpenResty:
./configure --prefix=/opt/openresty \
--add-module=/path/to/lua-var-nginx-module
Install the Lua source code, there are two ways:
luarocks install lua-resty-ngxvar
Or we can copy the source lua file to specified directory which OpenResty can load it normally.
make install LUA_LIB_DIR=/opt/openresty/lualib/
Method
request
syntax: req = ngxvar.request()
Returns the request object of current request. We can cache it at your Lua code land if we try to fetch more than one variable in one request.
Back to TOC
fetch
syntax: val = ngxvar.fetch(name, req)
Returns the Nginx variable value by name.
location /t {
content_by_lua_block {
local var = require("resty.ngxvar")
local req = var.request()
ngx.say(var.fetch("host", req))
ngx.say(var.fetch("uri", req))
}
}
Back to TOC
TODO
- support more variables.
Back to TOC