网站静态资源压缩加速教程:从零开始为服务器开启Gzip与

为什么你的网站需要静态资源压缩

当你访问一个网页时,浏览器需要下载 CSS、JavaScript、图片等文件。
如果这些文件未经压缩,体积大、加载慢,尤其对移动端用户很不友好。静态资源压缩 可以在服务器端把文件压缩成更小的尺寸(比如 Gzip 或 Brotli 格式),浏览器收到后再解压还原,整个过程自动完成。
开启后通常能减少 50%~80% 的文件体积,页面加载速度直接提升一个档次。

适用场景:任何使用 Nginx、Apache、或面板(如宝塔)搭建的网站。
本文以 Nginx 为例,宝塔用户也能直接照做。

手把手开启 Nginx 的 Gzip 压缩

Gzip 是最成熟的静态资源压缩方式,兼容所有浏览器。
操作前请确认你有服务器的 root 权限或面板文件编辑权限。

  1. 定位 Nginx 配置文件
  • 宝塔用户:登录面板 → 网站 → 选择站点 → 设置 → 配置文件。
  • 命令行用户:sudo vim /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf。
  1. 在 http 块内增加 gzip 配置
  • 找到 http { ... } 段落,在内部(不要放在 server 或 location 里)添加以下内容:
   gzip on;
   gzip_min_length 1k;
   gzip_comp_level 6;
   gzip_vary on;
   gzip_types text/plain text/css text/javascript application/javascript application/json application/xml image/svg+xml;
   gzip_disable "msie6";
  • gzip_comp_level 1~9,推荐 6,兼顾压缩率和性能。
  • gzip_types 列出了要压缩的文件类型,mime 类型可以用 nginx -t 再配合常见类型补充。
  1. 测试配置并重载 Nginx
  • 命令行:nginx -t 检查语法,无报错后 nginx -s reload。
  • 宝塔:直接在面板文件编辑完点击“保存”,系统会自动重载 Nginx。
  1. 验证 Gzip 是否生效
  • 打开浏览器开发者工具(F12)→ 网络(Network)→ 刷新页面 → 点击一个 CSS 或 JS 文件,查看 Response Headers 是否包含 content-encoding: gzip。
  • 或者用 curl 命令:curl -H "Accept-Encoding: gzip" -I https://你的域名/style.css,返回头中有 content-encoding: gzip 即成功。

升级!配置 Brotli 压缩(性能更佳)

Brotli 比 Gzip 压缩率更高(通常再减少 20%),但需要 Nginx 额外安装模块。
现代浏览器都支持。

  1. 检查 Nginx 是否已安装 Brotli 模块
  • 执行 nginx -V 2>&1 | grep brotli,如果有输出说明已编译。
  • 如果没有,需自行编译(推荐使用宝塔的 Nginx 扩展安装,或者找专业的运维处理)。
  1. 启用 Brotli 配置

在 http 块内添加(与 gzip 平行,不要互相冲突):

   brotli on;
   brotli_comp_level 6;
   brotli_types text/plain text/css text/javascript application/javascript application/json application/xml image/svg+xml application/wasm;
  • 注意:Brotli 只支持 HTTPS 连接,如果你的站点是 HTTP,浏览器不会接受 Brotli 响应。
  1. 优先选择:同时开启 Gzip 和 Brotli
  • Nginx 会根据浏览器支持的编码自动选择最优压缩方式。配置两套时,需确保 http 块中同时包含 gzip on; 和 brotli on;,且 gzip_types 和 brotli_types 尽量一致。

避坑指南:别让压缩变成性能黑洞

  • 压缩等级不要过高:gzip_comp_level 9 或 brotli_comp_level 11 压缩率提升有限,但 CPU 负载会翻倍。默认 6 即可。
  • 文件类型要写全:常见的 .js 的 MIME 是 application/javascript,.html 是 text/html(默认会压缩),.css 是 text/css。缺了类型就不会压缩。
  • 不要在 location 块内重复配置:gzip 指令如果放在 server 或 location 中,可能会覆盖全局设置,导致某些请求未压缩。统一放在 http 块。
  • Brotli 对动态请求无效:Brotli 默认只压缩静态文件,如果你的页面是动态生成的(如 PHP 输出),需要额外配置 brotli_static,但新手建议只关注静态资源。

验证效果与高频问题解答

1. 如何确认当前压缩已生效?

  • 在浏览器地址栏输入网址后,打开开发者工具的 Network 标签,找到任意一个 CSS/JS 文件,查看 Response Headers 中的 content-encoding,如果显示 gzip 或 br 即成功。
  • 使用命令行:curl -I -H "Accept-Encoding: gzip, br" https://你的域名/文件路径,返回头中包含对应编码即可。

2. 为什么我配置了但没生效?

  • 先检查 nginx -t 是否报错。
  • 检查资源是否满足最小体积(gzip_min_length 1k 表示小于 1KB 的文件不压缩)。
  • 检查浏览器是否支持(IE6 被 gzip_disable 排除)。

3. 压缩后网站访问变慢了?

  • 这可能是压缩等级太高导致服务器 CPU 飙升。降低 comp_level 到 3~5 试试。
  • 如果服务器配置较低,建议只对文件较大的 JS/CSS 压缩,图片不要用 Gzip(图片本身已压缩),可在 gzip_types 中移除 image/ 类型。

4. 我已经开启了 CDN,还需要在源站配置吗?

  • 如果 CDN 支持实时压缩(如 Cloudflare),可以关闭源站压缩。如果 CDN 只是缓存,建议源站开启压缩,让 CDN 直接回源获取压缩后的资源。

如果你正在处理网站静态资源压缩加速,建议先按本文步骤在测试服务器上验证,再应用到正式环境。
遇到异常时优先回看避坑和高频问题部分,大多数问题都能在这里找到答案。

分享到:
上一篇
网站带宽限制与流量管控设置指南
下一篇
网站HTTPS强制跳转配置方法
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意