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

[Feature] Directly reference ngx_brotli as a module

Ouverte
#10,653 2 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@wanghe-fit2cloud y travaille déjà.

Depuis le 15/10/2025.

type: optimization
Langage dominant
Go
Étoiles
37k
Forks
3.4k
Merge moyen
9 h 16 min
PR mergées (30 j)
105

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.