LNMP1.9 正式版开启ngx_lua编译Nginx1.23.3报错!
错误提示:错误 1
日志:
阿里云盘:https://www.aliyundrive.com/s/qpgxL2rLt13 是不是要用新的代码库呀! 据说lua-nginx-module-v0.10.22已经修正这个错误了,请问军哥,如何在LNMP 1.9开启ngx_lua编译的时候用lua-nginx-module-v0.10.22呢?我看默认还是lua-nginx-module-0.10.14呢!
明月登楼 发表于 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的模块性能方面不确定是否有影响
好的,只需要把ngx_lua_headers.patch复制到src的patch里就可以了吧? 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依旧报错! licess 发表于 2023-1-9 13:24
这是因为nginx 1.23.* 版本的新变化特性导致的
没办法,只能把Nginx降级到1.22.0就正常编译了! 明月登楼 发表于 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
保存,再重新安装 licess 发表于 2023-1-9 21:06
patch单独运行后再安装是不起作用的,需要在脚本里添加上。
把patch放到安装包src/patch 目录下
哦,好的,多谢军哥,我现在去试试 licess 发表于 2023-1-9 21:06
patch单独运行后再安装是不起作用的,需要在脚本里添加上。
把patch放到安装包src/patch 目录下
哈哈,完美编译成功!
页:
[1]