前言:Nginx中配置Gzip压缩可以显著减少传输的数据量,提高网站的加载速度。

基本的 Nginx Gzip 配置

将以下配置添加到你的Nginx配置文件中,通常是 /etc/nginx/nginx.conf 或者你具体站点的配置文件中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
http {
gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

# 其他配置...

server {
listen 80;
server_name your_site.com;

location / {
# 其他 location 配置...
}
}
}

详细解释

  1. gzip on; 启用Gzip压缩。
  2. gzip_disable "msie6"; 禁用对IE6的Gzip压缩,因为IE6对Gzip支持不好。
  3. gzip_vary on; 在响应头中添加 Vary: Accept-Encoding,以便代理服务器可以根据请求头中的 Accept-Encoding 来区分缓存的版本。
  4. gzip_proxied any; 启用对所有代理请求的Gzip压缩。可以根据需要进行调整,例如 gzip_proxied expired no-cache no-store private auth;
  5. gzip_comp_level 6; 设置Gzip压缩级别,范围是1到9。级别越高,压缩率越高,但会消耗更多的CPU资源。一般使用5到7之间的值即可。
  6. gzip_buffers 16 8k; 为压缩设置缓冲区大小。16 8k表示为每个请求分配16个8KB的缓冲区。
  7. gzip_http_version 1.1; 指定压缩只适用于HTTP/1.1及以上版本。
  8. gzip_min_length 256; 设置允许压缩的最小响应体长度。小于该长度的响应体不会被压缩。
  9. gzip_types 指定哪些MIME类型的响应体需要进行压缩。可以根据实际情况添加更多的MIME类型。

保存并重启Nginx

编辑完配置文件后,保存并重启Nginx以应用配置:

1
sudo systemctl restart nginx

通过这些配置,你的Nginx服务器就可以对指定的响应进行Gzip压缩,从而提高传输效率和网站性能。如果有其他特殊需求或更复杂的配置,可以在此基础上进行调整。