参考资料

  1. Tengine编译安装详细说明以及案例
  2. Nginx expires、etag、if_modified_since:客户端缓存控制详细说明以及案例
  3. nginx 配置方式
  4. Nginxroot指令根目录配置详细说明以及案例
  5. Nginx如何设置防篡改?
  6. Nginx的配置与管理
  7. nginx 防止各种攻击
  8. NginxWebDAV模块配置详细说明以及案例

如何设置Nginx的Gzip压缩?

  1. 编辑Nginx配置文件
    主配置文件通常位于:

    • /etc/nginx/nginx.conf

    • 或站点配置文件如 /etc/nginx/conf.d/default.conf

  2. httpserver 模块中添加配置

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_comp_level 6;
    gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml image/svg+xml;
    gzip_vary on;
    gzip_proxied any;
    gzip_disable "MSIE [1-6]\.";
  3. 参数说明

    • gzip on:启用 Gzip 压缩

    • gzip_min_length 1k:仅压缩大于 1KB 的文件

    • gzip_buffers 4 16k:分配 4 个 16KB 的压缩缓冲区

    • gzip_comp_level 6:压缩级别(1-9,6 为平衡性能与压缩率)

    • gzip_types:指定压缩的文件类型(如文本、JS、CSS、JSON 等)

    • gzip_vary on:告知客户端支持 Gzip 压缩

    • gzip_proxied any:对代理请求也启用压缩

    • gzip_disable:禁用旧版 IE 的压缩(兼容性)

  4. 验证并重启 Nginx

    sudo nginx -t    # 检查配置语法
    sudo systemctl restart nginx  # 重启生效
  5. 测试压缩是否生效

    • 使用浏览器开发者工具查看响应头,确认包含 Content-Encoding: gzip

    • 或通过 curl 测试:  

      curl -H "Accept-Encoding: gzip" -I http://yourdomain.com | grep "Content-Encoding"