nginx安装及入门 nginx安装及配置教程 linux nginx部署前端项目
0
2026-07-01
Brotli需要编译集成的ngx_brotli模块并验证,然后在http块中启用brotli并关闭gzip;需要资源类型分山金参,预压缩文件,权限,MIME,严格匹配路径,并保留gzip作为兜底。错误——必须先编译集成模块,再拆分场景,否则所谓的“最大限度去制”只是一句空话。确认ngx_brotli模块是否编译进Nginx
光clone了ngx_brotli仓库,还是“添加模块”,不代表效果。该密钥仅读取两个输出: run nginx -V 2>&1 | grep with-http_brotli_module,安装模块时输出会显示configure,执行nginx -t 不报未知指令“brotli”,OpenResty用户必须使用对应版本的ngx_brotli分支(例如OpenResty 1.21.x对应openresty分支),混合使用会导致make失败。避免gzip冲突
brotli写在服务器或位置块里,概率无效,Nginx会忽略它。必须放在http块顶山,且月式关掉gzip:brotli on和gzip off必须出现,顺序无所谓。 JSON/HTML,得任 brotli_static off,并在相应位置准写一送 brotli on 不要依赖“自动台商”:客户端没发 Accept-Encoding: br,服务端维不可以了Content-Encoding: br按设计头分分山方法 brotli_comp_level 和 brotli_min_length
统一任 brotli_comp_level 11 会打慢 TTFB,尤其是在高QPS接口。真实测试策略如下: HBuilderX(Linux)
HBuilderX是DCloud开发的高端开发工具,主要用于Linux系统上的Web开发和跨平台应用程序开发,特别适合Vue和uni-app相关项目。
下载动态内容(JSON API、HTML模板):brotli_comp_level 1-4,压缩率60%,压缩率优于gzip 9。 产品构建(.js/.css):brotli_comp_level 5-6,压缩率(~63%)和压缩延迟(iOS/Android < 8ms)静态资源(SVG、字体、reset.css):brotli_comp_level 8-11 + brotli_static on,前提是.br文件已经生成,建议设置brotli_min_length为1024(1KB),避免小响应(福空JSON)频繁CPU压缩,预压缩文件权限和MIME类型必须严格匹配
brotli_static on 是静默失败类型配置——文件存在,权限不正确,或者brotli_types泄漏MIME,Nginx不存在时不会回退到gzip,不回退到gzip:构建.br文件:Vite用vite-plugin-compression,Webpack用compression-webpack-plugin,指定算法:'brotlicompress'brotli_types必须与实际.br文件的MIME严格一致,例如application/javascript不能写成text/javascript.br 文件的权限必须为644,确保Nginx工作进程可读;否则日志不会显示,请求会直接走未前前,把gzip当兜底——即使现代浏览器支持率98%,还有监控工具,内网分虫就靠gzip
不写几行配置,而是编译模块、MIME匹配、预压缩生成、权限控制,真的很难。