返回

在 Nginx 中配置 Gzip 提升网站访问速度

原创
admin的头像admin·发布于 2025-07-16 12:30·阅读 96

一、什么是 Gzip 压缩

Gzip 是一种基于 DEFLATE 算法的压缩格式,能够显著减少网页资源(如 HTML、CSS、JavaScript 等)的传输体积,从而降低带宽消耗并提升页面加载速度。

二、为什么要在 Nginx 中开启 Gzip

  1. 减少传输大小
    对文本资源进行压缩后,通常能减少 60%~80% 的传输量。
  2. 提升用户体验
    页面加载更快,用户等待时间更短,降低跳出率。
  3. 节省服务器带宽
    带宽成本降低,尤其对于高流量网站效果显著。

三、Nginx 中 Gzip 常用配置

在 Nginx 主配置文件(通常为 /etc/nginx/nginx.conf 或者站点配置中的 server / http 区块)中添加或修改以下指令:

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

    # 设置压缩级别,范围 1~9,数字越大压缩越彻底但消耗 CPU 越多
    gzip_comp_level 5;

    # 要压缩的最小响应字节数,超过该值才会压缩
    gzip_min_length 256;

    # 配置 MIME 类型,指定哪些类型的资源启用 Gzip
    gzip_types
        text/plain
        text/css
        text/javascript
        application/javascript
        application/x-javascript
        application/json
        application/xml
        application/xhtml+xml;

    # 对所有 HTTP/1.0 和 HTTP/1.1 请求启用
    gzip_http_version 1.1;

    # 在响应头中添加 “Vary: Accept-Encoding”
    # 让缓存服务器区分压缩与未压缩版本
    gzip_vary on;

    # 对包含特定字符串的 User-Agent 禁用压缩(可选,兼容老浏览器)
    gzip_disable "msie6";
}

参数详解

  • gzip:开启或关闭 Gzip 功能。
  • gzip_comp_level:压缩级别,建议取值 4~6。
  • gzip_min_length:最小压缩字节数,避免对非常小的文件压缩反而增大体积。
  • gzip_types:指定哪些 MIME 类型启用压缩,text/html 默认会压缩,可不写。
  • gzip_vary:添加响应头以便代理服务器区分。
  • gzip_http_version:指定只对 HTTP/1.1 及以上版本生效(因为 HTTP/1.0 客户端可能不支持)。
  • gzip_disable:根据 User-Agent 禁用特定客户端的 Gzip。

四、验证 Gzip 是否生效

  1. 浏览器开发者工具
    打开 Network 面板,刷新页面,查看请求响应头中是否包含:

    复制代码
    Content-Encoding: gzip
  2. 命令行测试

    bash 复制代码
    curl -I -H "Accept-Encoding: gzip" https://your-domain.com

    若返回头部中有 Content-Encoding: gzip,则表示已启用压缩。

五、实战建议

  • 合理选取压缩级别
    对于 CPU 资源丰富的服务器可适当提高级别,反之可设置为 4 或 5。
  • 结合缓存使用
    ExpiresCache-Control 搭配,可最大程度减少重复请求。
  • 动态与静态分离
    对于大静态文件(如图片、视频),无需 Gzip,可由 CDN 或专门存储;Gzip 主要针对文本类资源。

六、总结

通过在 Nginx 中配置 Gzip 压缩,可以在不影响用户体验的前提下,显著降低资源传输大小、节省带宽并提升页面加载速度。本文示例仅供参考,请根据实际业务场景和服务器性能进行调优。


作者的其他文章
2026初会全套备考资料|零基础直通上岸,冲刺押题干货合集
2026初级会计全套备考资料合集更新完毕🔥包含知了冲刺班、押题班、实务+经济法全套讲义、超好用漫画笔记!电子版完整版,零基础专属备考干货,考点清晰、押题精准,全程一站式备考,助力26初会稳稳上岸!
2026初会全套备考资料|零基础直通上岸,冲刺押题干货合集
全方位深度解析 | 在线密码生成器:提升安全与效率的必备利器
破解复杂密码管理难题!一文带您全面了解在线密码生成器的核心功能、选型要点与最佳实践,让多账户维护更高效、更安全。
全方位深度解析 | 在线密码生成器:提升安全与效率的必备利器
享受优惠10%
享受优惠10%
一行代码永久关闭 Win11 自动更新?教你轻松搞定!
通过一行 PowerShell 命令,永久关闭 Windows 11 自动更新,避免系统在关键时刻重启打断工作。附恢复自动更新命令,轻松掌控升级节奏!
Navicat 居然免费了?限时领取高效数据库管理神器!
Navicat 现已免费开放基础功能,支持 MySQL、PostgreSQL、Oracle、SQL Server、SQLite 等主流数据库管理与开发,带来可视化查询、数据建模、数据同步、自动化任务等高效功能,零门槛下载体验,立即提升你的数据库运维效率!
源码学社——你的专属技术分享与毕设帮手
源码学社专注于 Java、Python、前端、大数据、AI 等技术分享与毕业设计辅导,凭借十年资深开发经验及四五年毕设辅导经历,为学生提供图书管理系统、商城系统、医院管理系统、鲜花销售系统等多种项目解决
源码学社——你的专属技术分享与毕设帮手