明月登楼 发表于 2023-1-9 09:33:58

LNMP1.9 正式版开启ngx_lua编译Nginx1.23.3报错!

错误提示:

错误 1
日志:
阿里云盘:https://www.aliyundrive.com/s/qpgxL2rLt13

明月登楼 发表于 2023-1-9 10:47:44

是不是要用新的代码库呀!

明月登楼 发表于 2023-1-9 13:07:54

据说lua-nginx-module-v0.10.22已经修正这个错误了,请问军哥,如何在LNMP 1.9开启ngx_lua编译的时候用lua-nginx-module-v0.10.22呢?我看默认还是lua-nginx-module-0.10.14呢!

licess 发表于 2023-1-9 13:24:23

明月登楼 发表于 2023-1-9 13:07
据说lua-nginx-module-v0.10.22已经修正这个错误了,请问军哥,如何在LNMP 1.9开启ngx_lua编译的时候用lua- ...
      /root/lnmp1.9/src/lua-nginx-module-0.10.14/src/ngx_http_lua_headers_in.c

In file included from /usr/include/dlfcn.h:24,

               from src/os/unix/ngx_linux_config.h:58,

               from src/core/ngx_config.h:26,

               from /root/lnmp1.9/src/lua-nginx-module-0.10.14/src/ddebug.h:11,

               from /root/lnmp1.9/src/lua-nginx-module-0.10.14/src/ngx_http_lua_headers_in.c:10:

/root/lnmp1.9/src/lua-nginx-module-0.10.14/src/ngx_http_lua_headers_in.c:162:50: 错误:‘ngx_http_headers_in_t’ has no member named ‘cookies’; did you mean ‘cookie’?

162 |                  offsetof(ngx_http_headers_in_t, cookies),

      |                                                ^~~~~~~

make: *** 错误 1
这是因为nginx 1.23.* 版本的新变化特性导致的

Changes with nginx 1.23.0                                        21 Jun 2022



    *) Change in internal API: now header lines are represented as linked

       lists.
可以把这个patch打上就可以了



lua-nginx-module-v0.10.22并未修复这个bug,只有他们git库里的是修复了的,按前面的patch打上补丁就可以
lua-nginx-module-v0.10.15及以上版本都是还需要另外安装lua-resty-lrucache、lua-resty-core及openresty比较新的luajit2,如果需要的话我可以都更新到最新版的,因为加载了比较多的resty的模块性能方面不确定是否有影响

明月登楼 发表于 2023-1-9 13:30:45

好的,只需要把ngx_lua_headers.patch复制到src的patch里就可以了吧?

明月登楼 发表于 2023-1-9 13:56:50

licess 发表于 2023-1-9 13:24
这是因为nginx 1.23.* 版本的新变化特性导致的




我用在src里,运行:
patch -p0 < patch/ngx_lua_headers.patch
patching file lua-nginx-module-0.10.14/src/ngx_http_lua_headers_in.c
patching file lua-nginx-module-0.10.14/src/ngx_http_lua_headers_out.c
再次编译Nginx依旧报错!

明月登楼 发表于 2023-1-9 17:10:22

licess 发表于 2023-1-9 13:24
这是因为nginx 1.23.* 版本的新变化特性导致的




没办法,只能把Nginx降级到1.22.0就正常编译了!

licess 发表于 2023-1-9 21:06:01

明月登楼 发表于 2023-1-9 13:56
我用在src里,运行:

再次编译Nginx依旧报错!

patch单独运行后再安装是不起作用的,需要在脚本里添加上。

把patch放到安装包src/patch 目录下
编辑 include/nginx.sh 查找 tar zxf ${LuaNginxModule}.tar.gz 在下面添加一行
patch -p0 < ${cur_dir}/src/patch/ngx_lua_headers.patch
保存,再重新安装

明月登楼 发表于 2023-1-9 22:48:19

licess 发表于 2023-1-9 21:06
patch单独运行后再安装是不起作用的,需要在脚本里添加上。

把patch放到安装包src/patch 目录下


哦,好的,多谢军哥,我现在去试试

明月登楼 发表于 2023-1-9 22:56:20

licess 发表于 2023-1-9 21:06
patch单独运行后再安装是不起作用的,需要在脚本里添加上。

把patch放到安装包src/patch 目录下


哈哈,完美编译成功!
页: [1]
查看完整版本: LNMP1.9 正式版开启ngx_lua编译Nginx1.23.3报错!