核心指令Gzip压缩
原创2026/3/5大约 2 分钟
Nginx 开启 Gzip 压缩功能, 可以使网站的 css、js 、xml、html 文件在传输时进行压缩,提高访问速度, 进而优化 Nginx 性能!
将响应报⽂发送⾄客户端之前可以启⽤压缩功能,这能够有效地节约带宽,并提⾼响应⾄客户端的速度。Gzip 压缩可以配置 http,server 和 location 模块下。Nginx 开启 Gzip 压缩参数说明:
| 指令 | 含义 |
|---|---|
| gzip on | 决定是否开启 gzip 模块,on 表示开启,off 表示关闭; |
| gzip_min_length 1k | 设置允许压缩的页面最小字节(从 header 头的 Content-Length 中获取) ,当返回内容大于此值时才会使用 gzip 进行压缩,以 K 为单位,当值为 0 时,所有页面都进行压缩。建议大于 1k |
| gzip_buffers 4 16k; | 设置 gzip 申请内存的大小,其作用是按块大小的倍数申请内存空间,param2:int(k) 后面单位是 k。这里设置以 16k 为单位,按照原始数据大小以 16k 为单位的 4 倍申请内存 |
| gzip_http_version 1.1; | 识别 http 协议的版本,早起浏览器可能不支持 gzip 自解压,用户会看到乱码 |
| gzip_comp_level 2; | 设置 gzip 压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大;等级 1-9,最小的压缩最快 但是消耗 cpu |
gzip_types text/plain application/x-javascripttext`/css` `application`/xml; | 设置需要压缩的 MIME 类型,非设置值不进行压缩,即匹配压缩类型 |
| gzip_vary on; | 启用应答头"Vary: Accept-Encoding" |
| gzip_proxied off; | nginx 做为反向代理时启用,off(关闭所有代理结果的数据的压缩),expired(启用压缩,如果 header 头中包括"Expires"头信息),no-cache(启用压缩,header 头中包含"Cache-Control:no-cache"), no-store(启用压缩,header 头中包含"Cache-Control:no-store"),private(启用压缩,header 头中包含"Cache-Control:private"),no_last_modefied(启用压缩,header 头中不包含 "Last-Modified"),no_etag(启用压缩,如果 header 头中不包含"Etag"头信息),auth(启用压缩,如果 header 头中包含"Authorization"头信息) |
| gzip_disable msie6; | (IE5.5 和 IE6 SP1 使用 msie6 参数来禁止gzip压缩 )指定哪些不需要gzip压缩的浏览器(将和 User-Agents 进行匹配),依赖于 PCRE 库 |
http {
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
location / {
root html;
index index.html index.htm;
}
}至此,本章节的学习就到此结束了,如有疑惑,可对接技术客服进行相关咨询。