«

Nginx配置Gzip压缩,提升网站加载速度

时间:2026-10-9 07:51     作者:emer     分类: 无


前言

网站打开慢?带宽不够?开启Nginx的Gzip压缩,能把文件体积压缩70%以上,加载速度立马提升好几倍。本文讲怎么配置。

一、什么是Gzip

Gzip是一种压缩算法,Nginx在发给浏览器之前先把文件压缩,浏览器收到后自动解压。

效果:

二、配置Gzip

打开Nginx配置文件:

vi /etc/nginx/nginx.conf

在http段里加:

gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
gzip_vary on;
gzip_buffers 16 8k;
gzip_http_version 1.1;

参数解释

参数 含义
gzip on 开启gzip
gzip_min_length 1k 小于1k的文件不压缩
gzip_comp_level 6 压缩级别1-9,6最合适
gzip_types 压缩哪些类型的文件
gzip_vary on 给响应头加Vary: Accept-Encoding
gzip_buffers 压缩缓冲区

压缩级别说明

级别 效果
1 最快,压缩率最低
6 推荐,平衡
9 最慢,压缩率最高

推荐用6,不要用9,太吃CPU。

三、验证配置

nginx -t

重载Nginx:

nginx -s reload

四、验证是否生效

方法1:curl测试

curl -I -H "Accept-Encoding: gzip" https://www.0454.wang/

看到响应头有:

Content-Encoding: gzip

就是生效了。

方法2:浏览器F12

按F12打开开发者工具 → Network → 点请求 → 看Response Headers:

Content-Encoding: gzip

五、哪些文件该压缩

该压缩的

不该压缩的

六、常见坑

坑1:只在http段配了,但server段覆盖了

检查: 看server段有没有gzip off。

坑2:gzip_types没写全

问题: JS文件没压缩。

解决: 加上application/javascript。

坑3:压缩级别太高

问题: 用了9,CPU飙升。

解决: 改成6。

坑4:CDN缓存了旧文件

问题: 配置了gzip但CDN没生效。

解决: 刷新CDN缓存。

七、完整配置示例

http {
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
    gzip_vary on;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;

    server {
        listen 80;
        server_name www.0454.wang;
        root /var/www/html;
        index index.html;
    }
}

八、对比效果

没开Gzip

HTML文件:100KB

开了Gzip

HTML文件:25KB

省了75%!

总结

记住:

  1. 开启gzip on
  2. 压缩级别用6
  3. gzip_types要写全
  4. 图片不要压缩
  5. 用curl验证是否生效

最常用配置:

gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_vary on;

遇到问题加QQ23979811 协助处理

标签: Nginx gzip 网站优化 加载速度 CDN