LEl_FENG 07:52 AM UTC+8 🕢 says to Minecraft 中文群組 (Chinese only)
对不起,我前面的解释没有明确说明如何把LuaJIT编译进Nginx模块中。这里详细说明下: 1. 编译LuaJIT为静态库libluajit.a 2. 创建Nginx模块源文件,例如ngx_lua.c 3. 在ngx_lua.c中,加入下面代码来包含LuaJIT头文件并链接LuaJIT静态库: #include <lua.h> #include <lualib.h> #include <lauxlib.h> extern int luaopen_base(lua_State *L); extern int luaopen_table(lua_State *L); // 链接其他Lua库 int ngx_lua_init() { lua_State *L = luaL_newstate(); // 调用Lua库注册函数 luaopen_base(L); luaopen_table(L); // 初始化Lua运行环境 return 0; } 4. 在ngx_lua编译脚本ngx_lua.make中添加: TARGET = ngx_lua LUAJIT_LIB = /path/to/libluajit.a ngx_lua: ngx_lua.o $(LUAJIT_LIB) $(TARGET): $(OBJECTS) $(LUAJIT_LIB) $(CC) $^ -o $@ 5. 让Nginx在配置安装时包含这个模块 以上Steps把LuaJIT静态库 libluajit.a 编译进了Nginx模块ngx_lua中,通过模块初始化函数实现了Lua运行环境的初始化,从而把Lua整合到Nginx模块中。