Lua执行步骤
init_by_lua/init_by_lua_file:
在nginx初始化配置的时候,运行该lua脚本,常用语初始化全局变量
一些长连接的初始化,一般存放在这个位置,或者共享内存的初始化,只有nginx重启后,共享内存数据才会清空
lua_shared_dict dogs 1m;
init_by_lua '
local dogs = ngx.shared.dogs;
dogs:set("Tom", 56)
';
server {
location = /api {
content_by_lua '
local dogs = ngx.shared.dogs;
ngx.say(dogs:get("Tom"))
';
}
}
set_by_lua/set_by_lua_file:
设置一个变量,常用于计算一个逻辑,然后返回结果
另外可以将已有的nginx变量当做参数传递到Lua脚本里
location /foo {
set $diff ''; # we have to pr