启用 Nginx 的 gzip 压缩功能可以显著减少传输的数据量,从而加快网页加载速度和降低带宽消耗。以下是如何在 Nginx 中启用 gzip 压缩的方法:
1、在 http 块中启用 gzip
http {
gzip on; # 开启 gzip 压缩
gzip_disable "msie6"; # 不对 MSIE 6 进行压缩,因为早期的 IE 版本不支持 gzip
gzip_vary on; # 允许根据 Accept-Encoding 头部进行缓存
gzip_proxied any; # 即使响应是来自后端代理,也进行压缩
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; # 压缩的 MIME 类型
gzip_min_length 1100; # 最小的响应大小,只有超过此大小才进行压缩
gzip_buffers 16 8k; # 压缩缓冲区的大小
gzip_comp_level 6; # 压缩级别,数字越大,压缩越强,但速度越慢
}
2、在 server 或 location 块中启用 gzip
# 开启gzip
gzip on;
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 2;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript applicatio
n/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
备注
gzip
压缩会增加服务器的 CPU 负担,因此在高负载的服务器上启用时要谨慎考虑。- 确保你的 web 服务器有足够的 CPU 资源来处理 gzip 压缩。
- 不同的 MIME 类型可能需要不同的压缩设置,例如图片和视频文件通常已经很高效,不需要额外的压缩。
- 测试并监控 gzip 的效果,确保它确实提高了性能而没有引起其他问题。
完成配置后操作nginx:
1、nginx -t 命令检查配置文件的语法。
2、nginx -s reload 命令重新加载配置。