全面提升网站性能:自用Nginx中Brotli(br)与Zstandard(zstd)压缩模块的配置

    选择打赏方式

在你的 Nginx 服务器配置文件的http{}加入以下配置即可

# Brotli 压缩配置
brotli on;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
brotli_static on;
brotli_comp_level 8;

# Zstandard 压缩配置
zstd on;
zstd_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
zstd_static on;
zstd_comp_level 6;

以上配置是针对 Nginx 服务器的压缩模块配置,分别使用了 BrotliZstandard (zstd) 两种压缩算法。以下是对各项配置的详细解释:


Brotli 压缩配置

  1. brotli on;

    • 启用 Brotli 压缩功能。
    • 设置为 on 表示开启 Brotli 压缩,off 表示关闭。
  2. brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    • 指定哪些 MIME 类型的文件需要使用 Brotli 压缩。
    • 这里列出了常见的文本类文件类型,例如:
      • text/plain:纯文本文件
      • text/css:CSS 样式表
      • application/json:JSON 数据
      • application/javascript:JavaScript 文件
      • text/xmlapplication/xml:XML 文件
      • application/xml+rss:RSS 订阅文件
      • text/javascript:JavaScript 文件(旧版 MIME 类型)
    • 只有这些类型的文件会被 Brotli 压缩。
  3. brotli_static on;

    • 启用静态 Brotli 文件支持。
    • 如果设置为 on,Nginx 会优先查找并返回已经预压缩好的 .br 文件(例如 file.css.br),而不是实时压缩文件。
    • 这可以减少服务器的 CPU 开销。
  4. brotli_comp_level 8;

    • 设置 Brotli 压缩的级别,范围是 111
    • 级别越高,压缩率越高,但消耗的 CPU 资源也越多。
    • 8 是一个较高的压缩级别,适合对压缩率要求较高的场景。

Zstandard (zstd) 压缩配置

  1. zstd on;

    • 启用 Zstandard 压缩功能。
    • 设置为 on 表示开启 Zstandard 压缩,off 表示关闭。
  2. zstd_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    • 指定哪些 MIME 类型的文件需要使用 Zstandard 压缩。
    • 这里列出的文件类型与 Brotli 配置相同,都是常见的文本类文件。
  3. zstd_static on;

    • 启用静态 Zstandard 文件支持。
    • 如果设置为 on,Nginx 会优先查找并返回已经预压缩好的 .zst 文件(例如 file.css.zst),而不是实时压缩文件。
    • 这可以减少服务器的 CPU 开销。
  4. zstd_comp_level 6;

    • 设置 Zstandard 压缩的级别,范围是 122
    • 级别越高,压缩率越高,但消耗的 CPU 资源也越多。
    • 6 是一个中等偏高的压缩级别,适合在压缩率和性能之间取得平衡。

总结

  • BrotliZstandard 都是高效的压缩算法,能够显著减少传输文件的大小,从而加快网页加载速度。
  • Brotli 的压缩率通常比 Zstandard 更高,但 Zstandard 的压缩和解压速度更快。
  • 通过 brotli_staticzstd_static,可以预压缩文件并直接提供,减少服务器的实时压缩压力。
  • 压缩级别的选择需要根据服务器的性能和带宽需求进行权衡。

如果你的服务器同时支持 Brotli 和 Zstandard,客户端会根据支持的压缩算法自动选择最优的方式(通过 Accept-Encoding 请求头)。

版权声明:若无特殊注明,本文为《傲世》原创,转载请保留文章出处。
本文链接:https://www.recho.cn/259.html
如您对本文章内容有所疑问、反馈或补充,欢迎通过邮箱:[email protected] 联系我们!
正文到此结束

热门推荐