Nginx提供了强大的gzip压缩功能,可以有效减小传输文件大小,提高网站性能。以下是配置和使用方法:
在Nginx配置文件中(通常是nginx.conf
或站点配置文件)添加以下指令:
gzip on; # 启用gzip压缩
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 1024; # 最小压缩文件大小
gzip_comp_level 6; # 压缩级别(1-9)
gzip_vary on; # 根据客户端支持情况启用压缩
gzip_proxied any; # 对代理请求也启用压缩
gzip_buffers 16 8k; # 压缩缓冲区
gzip_http_version 1.1; # 最低HTTP版本
gzip_types
: 指定需要压缩的MIME类型gzip_min_length
: 小于此值的文件不压缩(单位字节)gzip_comp_level
: 压缩级别(1最快压缩比最低,9最慢压缩比最高)gzip_vary
: 添加"Vary: Accept-Encoding"响应头gzip_proxied
: 对代理请求的压缩行为Nginx也可以解压缩客户端发送的gzip压缩请求体:
gunzip on; # 启用解压缩
检查配置语法:
nginx -t
重新加载配置:
nginx -s reload
验证是否生效:
bash
curl -I -H "Accept-Encoding: gzip" http://yourdomain.com
应看到Content-Encoding: gzip
响应头对于不常变化的静态文件,可以预先压缩:
gzip_static on; # 优先使用预压缩的.gz文件
需要为静态文件创建.gz版本,例如:
gzip -k style.css # 生成style.css.gz同时保留原文件
gzip_disable "MSIE [1-6]\."; # 对IE6及以下禁用压缩
通过合理配置gzip,通常可以减少60-80%的文本文件传输量,显著提高网站性能。