lua-nginx-module (openresty/lua-nginx-module)

Searching Database…

这是什么?它把 Lua 脚本语言直接嵌入 NGINX,让你可以用 Lua 代码处理 HTTP 请求,使用 'content_by_lua_block' 之类的指令,而不必只依赖普通配置或自定义 C 模块。
这是独立的服务器,还是 NGINX 的插件?它是一个 C 模块,会直接编译进 NGINX 源码树中。它不是独立的服务器,也不能直接放进已有的预编译二进制文件里使用。
我该怎么让它在 NGINX 里运行?用 './configure --add-module=/path/to/lua-nginx-module' 从源码重新编译 NGINX 来加载这个模块,或者直接使用已经预编译好它的 OpenResty 发行版。
编译这个模块之前,我需要先装 LuaJIT 或其他东西吗?需要。你得先准备好 LuaJIT(或标准 Lua 5.1)以及 ngx_devel_kit(NDK)模块,并和 NGINX 源码一起配置好,这个模块才能编译。
不重新编译,能把它加到已经安装好的 NGINX 上吗?不能。这类 NGINX 模块是在编译时静态链接的,所以每次添加或更新时都必须从源码重新编译 NGINX。
这个模块支持哪些操作系统?它面向 Linux 以及其他通常运行 NGINX 的类 Unix 系统,文档中没有提到原生 Windows 版本。
这个模块会添加哪些 NGINX 指令?它引入了 Lua 脚本相关的指令,例如 content_by_lua_block、access_by_lua_block 和 rewrite_by_lua_block,让你可以在请求处理的不同阶段运行 Lua 代码。
这和 OpenResty 是一回事吗?不是。OpenResty 是一个完整的 NGINX 发行版,它把本模块和 LuaJIT 等组件打包在一起;lua-nginx-module 则是 OpenResty 所依赖的核心部分。
为什么不写自定义 NGINX C 模块,而要用 Lua?Lua 脚本运行在 NGINX 的非阻塞事件循环中,无需编写和编译 C 模块的复杂过程,就能以接近 C 的性能实现自定义的请求逻辑。
What are similar projects?tengine, nginx, openresty, h2o, gunicorn, fasthttp, nginx-proxy, chi
Creator
openresty
Size
15.8 MB
Stars
11.8K
Updated
CommitOct 15
Age
16y
Commits · 90 Days