全面提升网站性能:自用Nginx中Brotli(br)与Zstandard(zstd)压缩模块的配置
- A
在你的 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 服务器的压缩模块配置,分别使用了 Brotli 和 Zstandard (zstd) 两种压缩算法。以下是对各项配置的详细解释:
Brotli 压缩配置
-
brotli on;
- 启用 Brotli 压缩功能。
- 设置为
on
表示开启 Brotli 压缩,off
表示关闭。
-
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/xml
和application/xml
:XML 文件application/xml+rss
:RSS 订阅文件text/javascript
:JavaScript 文件(旧版 MIME 类型)
- 只有这些类型的文件会被 Brotli 压缩。
-
brotli_static on;
- 启用静态 Brotli 文件支持。
- 如果设置为
on
,Nginx 会优先查找并返回已经预压缩好的.br
文件(例如file.css.br
),而不是实时压缩文件。 - 这可以减少服务器的 CPU 开销。
-
brotli_comp_level 8;
- 设置 Brotli 压缩的级别,范围是
1
到11
。 - 级别越高,压缩率越高,但消耗的 CPU 资源也越多。
8
是一个较高的压缩级别,适合对压缩率要求较高的场景。
- 设置 Brotli 压缩的级别,范围是
Zstandard (zstd) 压缩配置
-
zstd on;
- 启用 Zstandard 压缩功能。
- 设置为
on
表示开启 Zstandard 压缩,off
表示关闭。
-
zstd_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
- 指定哪些 MIME 类型的文件需要使用 Zstandard 压缩。
- 这里列出的文件类型与 Brotli 配置相同,都是常见的文本类文件。
-
zstd_static on;
- 启用静态 Zstandard 文件支持。
- 如果设置为
on
,Nginx 会优先查找并返回已经预压缩好的.zst
文件(例如file.css.zst
),而不是实时压缩文件。 - 这可以减少服务器的 CPU 开销。
-
zstd_comp_level 6;
- 设置 Zstandard 压缩的级别,范围是
1
到22
。 - 级别越高,压缩率越高,但消耗的 CPU 资源也越多。
6
是一个中等偏高的压缩级别,适合在压缩率和性能之间取得平衡。
- 设置 Zstandard 压缩的级别,范围是
总结
- Brotli 和 Zstandard 都是高效的压缩算法,能够显著减少传输文件的大小,从而加快网页加载速度。
- Brotli 的压缩率通常比 Zstandard 更高,但 Zstandard 的压缩和解压速度更快。
- 通过
brotli_static
和zstd_static
,可以预压缩文件并直接提供,减少服务器的实时压缩压力。 - 压缩级别的选择需要根据服务器的性能和带宽需求进行权衡。
如果你的服务器同时支持 Brotli 和 Zstandard,客户端会根据支持的压缩算法自动选择最优的方式(通过 Accept-Encoding
请求头)。
傲世》原创,转载请保留文章出处。
本文链接:https://www.recho.cn/259.html
如您对本文章内容有所疑问、反馈或补充,欢迎通过邮箱:[email protected] 联系我们!
版权声明:若无特殊注明,本文为《正文到此结束