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

[Feature] Directly reference ngx_brotli as a module

オープン
#10,653 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

@wanghe-fit2cloud がすでに取り組んでいます。

2025年10月15日 から。

type: optimization
主要言語
Go
スター
37k
フォーク
3.4k
平均マージ
9時間 16分
マージ済み PR(30日)
105

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。