一、环境准备与依赖安装
系统要求:Ubuntu/CentOS等主流Linux发行版,建议使用较新内核版本。
# CentOS安装依赖
yum install -y git gcc openssl-devel libbrotli-devel
# Ubuntu安装依赖
apt-get update && apt-get install -y git libssl-dev libbrotli-dev
注:确保服务器已开放UDP 443端口以支持QUIC协议。
二、Brotli压缩模块部署
1. 下载并编译模块
cd /www/server
git clone --recurse-submodules https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init
若子模块拉取失败,需重复执行或手动克隆依赖库。
2. 重新编译Nginx
- 进入宝塔面板 → 软件商店 → 卸载现有Nginx(极速安装需卸载后选“编译安装”)。
- 在编译参数中添加模块路径:
--add-module=/www/server/ngx_brotli
。 - 建议升级OpenSSL至3.x以支持最新加密协议。
3. 配置Brotli参数
# 在Nginx配置文件的http块中添加
brotli on;
brotli_comp_level 6; # 压缩级别(1-11,建议6平衡性能)
brotli_types text/plain application/json text/css application/javascript image/svg+xml;
brotli_static always; # 预生成静态压缩文件:cite[4]:cite[8]
三、QUIC/HTTP3协议启用
1. 修改站点配置文件
server {
listen 443 ssl;
listen 443 quic reuseport; # 仅一个站点使用reuseport
http2 on;
http3 on; # 启用HTTP3
# 证书路径与域名配置
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
# 添加Alt-Svc响应头
add_header Alt-Svc 'h3=":443"; ma=2592000' always;
}
注意:Nginx 1.25+版本需单独配置http2 on;
,不可与listen
合并。
2. 性能调优建议
- 调整流缓冲区大小:
http3_stream_buffer_size 128k;
- 限制并发流数:
http3_max_concurrent_streams 256;
四、验证与效果测试
1. Brotli生效检测
curl -H "Accept-Encoding: br" -I https://your-domain.com
# 返回头中应有 Content-Encoding: br:cite[4]:cite[8]
2. QUIC/HTTP3验证工具
- 在线检测:HTTP3 Check
- Chrome开发者工具:查看网络请求协议列是否为
h3
五、常见问题与避坑指南
- 编译失败:检查依赖是否完整,模块路径是否正确。
- Brotli未生效:确认CDN支持Brotli并关闭Gzip覆盖(如阿里云需手动开启)。
- HTTP3兼容性:部分旧版浏览器需手动启用QUIC支持(如Chrome的
chrome://flags
)。
六、优化效果对比
实测数据:启用Brotli后,文本资源体积减少25%-30%,结合HTTP3降低首屏加载时间至1秒内!
没有回复内容