Nginx 开启 Gzip 完整配置

一、核心配置(推荐直接放在 http{} 全局块,所有站点生效)

打开 nginx 主配置文件,一般路径: /etc/nginx/nginx.conf

nginx 复制代码
http {
    # 开启gzip
    gzip on;

    # 低于此大小不压缩,单位bytes,建议1k,小文件压缩得不偿失
    gzip_min_length 1024;

    # 压缩级别 1-9,数字越大压缩率越高、CPU消耗越高,一般5足够
    gzip_comp_level 5;

    # 需要压缩的MIME类型
    gzip_types
        text/plain
        text/css
        text/xml
        text/javascript
        application/json
        application/javascript
        application/xml+rss
        image/svg+xml;

    # 是否在响应头添加 Vary: Accept-Encoding(建议开启,代理环境必备)
    gzip_vary on;

    # 代理服务器缓存压缩标识(反向代理场景开启)
    gzip_proxied any;

    # IE6及以下禁用gzip(兼容老浏览器)
    gzip_disable "MSIE [1-6]\.";

    # 缓冲区,默认即可,可选配置
    gzip_buffers 4 16k;
}

如果你只想单个网站启用 ,把上面配置放到对应 server {} 块内。

二、重要注意点

❌ 不要加图片格式(jpg/png/gif/webp) 图片本身已经压缩,再次 gzip 收益极小,浪费 CPU;只压缩文本类资源。

三、生效步骤

  1. 检查配置语法
bash 复制代码
nginx -t
  1. 重载 Nginx(不中断服务)
bash 复制代码
nginx -s reload

四、验证是否生效

方式 1 curl 测试

bash 复制代码
curl -I -H "Accept-Encoding: gzip" https://你的域名/style.css

返回头部出现: Content-Encoding: gzip → 代表成功

方式 2 浏览器 F12

网络面板 → 选中资源 → 响应头查看 Content-Encoding: gzip

五、常见问题

  1. 配置写了不生效
  • 确认配置放在 http{} / server{},不要放在 location{} 之外错误层级

  • nginx -t 是否报错

  • 有没有其他地方重复 gzip off; 覆盖配置

  1. 反向代理后端返回不压缩 加上 gzip_proxied any;

  2. 静态小文件不压缩 由 gzip_min_length 1024 控制,小于 1KB 不会压缩,属于正常策略。

相关推荐
life码农13 小时前
Nginx 配置允许指定 IP 段访问:从 192.168.1.1 到 192.168.1.124 及 /24 详解
网络·tcp/ip·nginx
吴声子夜歌15 小时前
Nginx应用与运维——Nginx编译及部署(部署)
java·运维·nginx
Wang's Blog16 小时前
Java 项目实战: 外卖平台优化-Nginx目录结构与conf配置文件体系
java·nginx
XS03010616 小时前
Nginx 学习指南
运维·nginx
吴声子夜歌17 小时前
Nginx应用与运维——Nginx代理服务应用实战(TCP/UDP代理)
运维·tcp/ip·nginx
吴声子夜歌17 小时前
Nginx应用与运维——Nginx缓存服务应用实战(一)
运维·nginx·缓存
Wang's Blog20 小时前
Java 项目实战: 外卖平台优化-Nginx常用命令与环境变量配置
java·网络·nginx
勇往直前plus21 小时前
Nginx 原理与配置 —— 通用指南
运维·nginx
Wang's Blog21 小时前
Java 项目实战: 外卖平台优化-Nginx概述与源码编译安装
java·开发语言·nginx
吴声子夜歌1 天前
Nginx应用与运维——Nginx HTTP模块详解(数据处理功能模块)
运维·nginx·http