Nginx-openresty+mysql+redis使用篇(一)
资料参考:
https://github.com/openresty/lua-nginx-module
注:这不是一份全面的资料,全面的资料可以访问上面官方的 github 进行查找,本文只是个人在使用中需要用到的特性
几个常用的配置
lua_code_cache 默认为 on,lua 脚本会被加载到内存中,修改 lua 文件,需要重新加载配置,生产环境一般使用该配置。调试阶段可以关闭该选项,系统每次执行 lua 脚本时,都会重新去加载 lua 脚本文件,关闭方式如下:
lua_code_cache off;
content_by_lua 和 content_by_lua_file,在 Nginx 的 NGX_HTTP_CONTENT_PHASE 执行的 lua 脚本
content_by_lua_file html/lua/test.lua;
以上的配置方式,系统会在 ~/nginx/html/lua 目录下搜索 test.lua 文件,与其类似的配置还有:
- rewrite_by_lua 和 rewrite_by_lua_file
- access_by_lua 和 access_by_lua_file
header_filter_by_lua 和 header_filter_by_lua_file,在 Nginx filter_header 阶段执行的 lua 脚本
header_filter_by_lua_file html/lua/filter_header.lua;
与其类似的配置还有 body_filter_by_lua 和 body_filter_by_lua_file
常量
系统常量
ngx.OK (0)
ngx.ERROR (-1)
ngx.AGAIN (-2)
ngx.DONE (-4)
ngx.DECLINED (-5)
HTTP方法常量
ngx.HTTP_GET
ngx.HTTP_HEAD
ngx.HTTP_PUT
ngx.HTTP_POST
ngx.HTTP_DELETE
ngx.HTTP_OPTIONS
ngx.HTTP_MKCOL
ngx.HTTP_COPY
ngx.HTTP_MOVE
ngx.HTTP_PROPFIND
ngx.HTTP_PROPPATCH
ngx.HTTP_