当前位置:论坛首页 > Linux面板 > 求助

【疑难】宝塔面板Nginx编译安装njs模块失败

发表在 Linux面板2022-12-28 14:40 [复制链接] 9 8856

njs官网执行如下指令下载
hg clone http://hg.nginx.org/njs模块配置如下图,

311be1e1972ceeeb3d7736057cbe23138dbf2c52.png

报错信息如下图
Snipaste_2022-12-28_14-39-36.png


9a09f48938c54fef8f05faca16cf6f6291085d77.png
使用道具 举报 只看该作者 回复
发表于 2022-12-28 14:46:30 | 显示全部楼层
您好,截图中没有前置参数是否需要添加?
使用道具 举报 回复 支持 反对
发表于 2022-12-28 14:54:20 | 显示全部楼层
运维风光 发表于 2022-12-28 14:46
您好,截图中没有前置参数是否需要添加?

您好 模块参数如下
311be1e1972ceeeb3d7736057cbe23138dbf2c52.png
使用道具 举报 回复 支持 反对
发表于 2022-12-28 15:19:41 | 显示全部楼层
ALiesZ 发表于 2022-12-28 14:54
您好 模块参数如下

前置脚本是否需要添加?
使用道具 举报 回复 支持 反对
发表于 2022-12-28 15:25:35 | 显示全部楼层
运维风光 发表于 2022-12-28 15:19
前置脚本是否需要添加?

前置脚本应该不需要添加
即使添加如下指令
hg clone http://hg.nginx.org/njs /www/server/nginx-module/njs/
也仍旧会报相同错误
使用道具 举报 回复 支持 反对
发表于 2022-12-28 15:26:58 | 显示全部楼层
建议自行手动使用命令编译安装下
使用道具 举报 回复 支持 反对
发表于 2022-12-28 15:47:25 | 显示全部楼层
运维风光 发表于 2022-12-28 15:26
建议自行手动使用命令编译安装下

在宝塔卸载Nginx 然后完全手动编译Nginx及模块?
这样宝塔能识别到nginx么
使用道具 举报 回复 支持 反对
发表于 2022-12-28 15:49:46 | 显示全部楼层
ALiesZ 发表于 2022-12-28 15:47
在宝塔卸载Nginx 然后完全手动编译Nginx及模块?
这样宝塔能识别到nginx么

可以的,需要将nginx安装到/www/server/nginx
可以参考安装脚本:/www/server/panel/install/nginx.sh
需要下载我们的一些文件,不会面板会无法成功切换php之类的
使用道具 举报 回复 支持 反对
发表于 2022-12-28 17:06:54 | 显示全部楼层
运维风光 发表于 2022-12-28 15:49
可以的,需要将nginx安装到/www/server/nginx
可以参考安装脚本:/www/server/panel/install/nginx.sh
需 ...

您好 我又分别尝试了在在install.sh中添加编译参数 和在宝塔编译安装nginx后进入nginx目录修改编译参数手动编译,在使用make指令编译后,会出现和上面相同的错误提示,报错如下
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:2286:23: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
2286 |             ph = &h.next;
      |                       ^
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:2287:38: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
2287 |             while (*ph) { ph = &(*ph)->next; }
      |                                      ^~
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:2307:6: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
2307 |     h->next = NULL;
      |      ^~
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c: In function ‘ngx_headers_js_get’:
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:3210:20: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
3210 |             ph = ph->next;
      |                    ^~
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:3226:16: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
3226 |         ph = ph->next;
      |                ^~
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:3242:14: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
3242 |         if (h->next == NULL) {
      |              ^~
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:3247:14: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
3247 |         h = h->next;
      |              ^~
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c: In function ‘ngx_headers_js_ext_set’:
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:3606:23: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
3606 |             ph = &h.next;
      |                       ^
/www/server/nginx-module/njs/nginx/ngx_js_fetch.c:3610:28: error: ‘ngx_table_elt_t’ {aka ‘struct <anonymous>’} has no member named ‘next’
3610 |                 ph = &(*ph)->next;
      |                            ^~
make[1]: *** [objs/Makefile:1717: objs/addon/nginx/ngx_js_fetch.o] Error 1
make[1]: Leaving directory '/www/server/nginx/src'
make: *** [Makefile:10: build] Error 2

请问出现这种情况的原因可能是什么,有什么其他方法解决么
使用道具 举报 回复 支持 反对
发表于 2022-12-28 17:11:55 | 显示全部楼层
ALiesZ 发表于 2022-12-28 17:06
您好 我又分别尝试了在在install.sh中添加编译参数 和在宝塔编译安装nginx后进入nginx目录修改编译参数手 ...

https://1drv.ms/u/s!ApkEdNJHW18tgZFcLWjj-IioAwcAAg?e=wUbtQ9
报错的c文件地址在这
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表