1. 几个比较重要的lua挂载点
- init_by_lua:指定系统启动时调用的 Lua 脚本;
- init_worker_by_lua:指定 Worker 进程启动时调用的 Lua 脚本;
- set_by_lua:Nginx 变量使用复杂的 lua return;
- rewrite_by_lua:指定重写 URL 规则的 Lua 脚本;
- access_by_lua:指定权限验证阶段的 Lua 脚本;
- content_by_lua:指定内容输出节点的 Lua 脚本;
2. shared_dict
在nginx自定义出一块shared_dict的内存空间,再通过lua脚本对这块内存空间进行读写。
lua_shared_dict my_cache 128m;
3. 在nginx.conf中指定一个location
location /staticitem/get{
default_type "text/html";
content_by_lua_file ../lua/staticitem.lua;
}
这段的意思是当访问/staticitem/get路径时回去执行staticitem.lua脚本。lua脚本里的逻辑是去shared_dict里查找,若没有则通过后端服务查询,然后将内容呢再放入shared_dict。