From 188c6704db768f5224d7ba4ba14df9207580b65d Mon Sep 17 00:00:00 2001 From: kdletters Date: Tue, 12 May 2026 16:53:53 +0800 Subject: [PATCH] ci: detect nginx brotli via config test --- deploy/nginx/README.md | 5 +++-- scripts/jenkins-server-provision.sh | 5 ----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/deploy/nginx/README.md b/deploy/nginx/README.md index 25a27161..1061a29c 100644 --- a/deploy/nginx/README.md +++ b/deploy/nginx/README.md @@ -10,9 +10,10 @@ ## Brotli -- Brotli 只在目标服务器 Nginx 编译/加载了 brotli 模块时开启。 -- Provision 脚本通过 `nginx -V` 和 `nginx -t` 做探测;可用时把模板中的 `# __GENARRATIVE_BROTLI_DIRECTIVES__` 替换为 brotli 指令,不可用时保留注释说明。 +- Brotli 只在目标服务器 Nginx 接受 brotli 指令时开启。 +- Provision 脚本通过临时配置执行 `nginx -t` 做能力探测;可用时把模板中的 `# __GENARRATIVE_BROTLI_DIRECTIVES__` 替换为 brotli 指令,不可用时保留注释说明。 - 不要直接在静态模板里无条件写 `brotli on;`,否则没有 brotli 模块的服务器会 `nginx -t` 失败并回滚。 +- 不要用 `nginx -V | grep brotli` 判断 brotli 是否可用;Ubuntu apt 安装的 brotli 是动态模块,可能只出现在 `nginx -T` 的 `load_module` 配置里。 ## 验证 diff --git a/scripts/jenkins-server-provision.sh b/scripts/jenkins-server-provision.sh index cff23e7b..573dd998 100755 --- a/scripts/jenkins-server-provision.sh +++ b/scripts/jenkins-server-provision.sh @@ -301,11 +301,6 @@ render_nginx_brotli_directives() { return fi - if ! nginx -V 2>&1 | grep -qi brotli; then - echo " # Brotli 未启用:当前 nginx 未编译或加载 brotli 模块。" - return - fi - local brotli_snippet brotli_snippet="$(mktemp)" cat >"${brotli_snippet}" <<'EOF'