1Panel-dev / 1Panel-dev/1Panel

[Feature] Directly reference ngx_brotli as a module

Aperta
#10,653 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@wanghe-fit2cloud ci sta già lavorando.

Dal 15/10/2025.

type: optimization
Lingua principale
Go
Stelle
37k
Fork
3.4k
Merge medio
9h 16m
PR unite (30g)
105

Descrizione

1Panel Version

2.0.11

Please describe your needs or suggestions for improvements

当前逻辑

在当前版本的1Panel中,OpenResty使用brotli需要首先在“网站-设置-模块”中勾选 ngx_brotli ,然后再点击构建按钮进行完整的静态编译。
整个过程需要消耗大量的时间,特别是在性能不充分的VPS场景下。用户在每次更新版本时都要进行相同的编译操作,成本过高,且存在失败风险。

Please describe the solution you suggest

建议逻辑

由于使用Docker进行部署,因此可以完全以动态模块方式进行编译或者直接引用。
由于仅存在架构区别(X86&ARM),因此同版本OpenResty下可以依赖相同的模块文件。
将“make modules”过程提前到团队发布Docker镜像时,预先编译好可用的模块文件(编译过程正常小于30秒,可完全自动化),然后用户选择启用模块时直接下载对应的模块文件(upx或zip压缩后小于50k),同时修改对应的nginx配置文件完成启用。

对于其他模块:
ngx_http_dav_module
ngx_http_geoip2_module
也可使用动态模块方式进行引用,可考虑内置白名单,在用户添加不存在于此名单中模块时降级为静态编译方式。

Additional Information

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.