一、使用lua挂载 init_by_lua 输出日志
-
/usr/local/openresty/ 目录下创建lua目录,lua下创建 init.lua文件,内部使用lua语言编写一段错误日志输出,
ngx.log(ngx.ERR, "init lua success");
-
nginx/conf/nginx.conf 添加对应的lua挂载http设置
init_by_lua_file ../lua/init.lua;
注:默认的lua启动在nginx目录下
- nginx 启动或者重启,就可以看到最简单的日志输出
二、内容挂载 content_by_lua
1.nginx.conf 配置内容获取目录
location /staticitem/get {
default_type "text/html";
content_by_lua_file ../lua/staticitem.lua;
}
2.lua目录下创建 staticitem.lua 写入内容
ngx.say("hello static item lua");
3.重启nginx,页面访问 ip/staticitem/get
优点:直接业务前移,nginx服务器直接通过lua脚本处理,避免再次访问后端服务
三、openresty
四、openresty 缓存 shared dic
1.nginx.conf 中添加共享字典的缓存配置
lua_shared_dict my_cache 128m;
2.lua 目录下,
vim itemsharedic.lua
3.修改nginx.conf配置
location /luaitem/get {
default_type "application/json";
content_type_lua_file ../lua/itemsharedic.lua;
}
直接通过lua文件进行接口请求,缓存也放到用户最近的地方。
五、openresty 缓存 redis支持
nginx服务器redis操作,只读不写,如果访问不到数据,回源到原有jar包服务器逻辑
1.lua目录下 创建 itemredis.lua
2.脚本代码编写
后续:tomcat 对 redis 缓存