Lua#
Lua 软件包将 Lua 编程语言集成到 Angie 的事件驱动处理模型中,允许使用 Lua 脚本扩展服务器的功能。 它由两个模块组成:
lua-nginx-module— openresty/lua-nginx-modulestream-lua-nginx-module— openresty/stream-lua-nginx-module
安装#
要 安装 该模块,请使用以下软件包之一:
Angie:
angie-module-lua;Angie PRO:
angie-pro-module-lua。
功能特性#
示例用例:
聚合和处理来自各种
upstream服务器的输出 (proxy、drizzle、postgres、redis、memcached 等);在将请求传递给后端之前实现访问控制和安全逻辑;
修改响应头;
从外部源检索上游服务器数据并动态选择
upstream;在
content handler内构建完整的 Web 应用程序;在重写阶段执行 URL 路由;
为子请求和
location块实现高级缓存。
LuaJIT 环境提供与 C 语言相当的性能,具有高执行速度和低内存使用率。这使得 Lua 集成在 Angie 中特别高效。
加载模块#
使用 Lua 模块需要预先加载 ndk 模块。
模块在 main{} 上下文中加载,如下所示:
load_module modules/ndk_http_module.so;
load_module modules/ngx_http_lua_module.so; # 用于 HTTP
load_module modules/ngx_stream_lua_module.so; # 用于 Stream
捆绑的 Lua 库#
以下第三方库与 Lua 模块一起安装:
其他信息#
完整的文档和源代码可在以下位置获取: