kgs / lua-var-nginx-module

Fetch nginx variable by FFI way for OpenResty which is faster

Home Page:https://www.apiseven.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

About

Fetch nginx variable by FFI way for OpenResty which is faster

https://www.apiseven.com

License:Apache License 2.0


Languages

Language:Perl 44.3%Language:Lua 35.5%Language:C 17.7%Language:Makefile 2.6%