nginx-lua入门操作

  • Post author:
  • Post category:其他



一、使用lua挂载 init_by_lua 输出日志

  1. /usr/local/openresty/ 目录下创建lua目录,lua下创建 init.lua文件,内部使用lua语言编写一段错误日志输出,

    ngx.log(ngx.ERR, "init lua success");
  2. nginx/conf/nginx.conf 添加对应的lua挂载http设置

    init_by_lua_file ../lua/init.lua;


    注:默认的lua启动在nginx目录下
  3. 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 缓存



版权声明:本文为weixin_38885024原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。