在 Linux 下使用 Nginx 开启 Gzip 压缩,主要通过修改 Nginx 的配置文件来实现。下面是详细步骤:
通常 Nginx 主配置文件位于:
/etc/nginx/nginx.conf
或者某些发行版(如 Ubuntu)会包含:
/etc/nginx/conf.d/*.conf
/etc/nginx/sites-enabled/*
sudo vi /etc/nginx/nginx.conf
在 http 块中加入或修改以下配置:
http {
# 开启 gzip
gzip on;
# 压缩级别 1-9,默认 6(越高越耗 CPU)
gzip_comp_level 6;
# 最小压缩文件大小,小于该值不压缩
gzip_min_length 1k;
# 压缩的缓冲区
gzip_buffers 4 16k;
# 支持的 HTTP 版本
gzip_http_version 1.1;
# 需要压缩的文件类型
gzip_types text/plain text/css application/json application/javascript
text/xml application/xml application/xml+rss text/javascript
image/svg+xml;
# 是否给代理请求也压缩
gzip_proxied any;
# 前端看到是否启用了 gzip(可选)
gzip_vary on;
}
# 检查配置是否正确
sudo nginx -t
# 重新加载配置
sudo systemctl reload nginx
或(老版本):
sudo service nginx reload
curl -I -H "Accept-Encoding: gzip" http://your-domain.com/
如果看到:
Content-Encoding: gzip
说明已开启成功。
打开 F12 → Network → 查看响应头中是否有:
Content-Encoding: gzip
jpg / png / gif 本身已压缩,不建议 gzipsvg / ico 可压缩gzip_min_lengthgzip_types 未包含对应 MIME 类型proxy_pass 但未配置 gzip_proxied如果你愿意,可以告诉我:
我可以给你更精确的配置示例。