刚刚给博客换了 nginx,之前 apache, 已经开启了 gzip 压缩。自然而然,nginx 必须把 gzip 压缩 打开。

环境:centos;

1、vim 打开 nginx 配置文件。

2、找到如下一段,进行修改

1
2
3
4
5
6
7
8
gzip on
gzip_min_length 1k
gzip_buffers 4 16k
#gzip_http_version 1.0; 
gzip_comp_level 2
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; 
gzip_vary off
gzip_disable "MSIE [1-6]\.";

3、解释一下

第 1 行:开启 gzip

第 2 行:不压缩临界值,大于 1K 的才压缩,一般不用改

第 3 行:buffer,就是,嗯,算了不解释了,不用改

第 4 行:用了反向代理的话,末端通信是 HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是 HTTP/1.1

第 5 行:压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧

第 6 行:进行压缩的文件类型,缺啥补啥就行了,JavaScript 有两种写法,最好都写上吧,总有人抱怨 js 文件没有压缩,其实多写一种格式就行了

第 7 行:跟 Squid 等缓存服务有关,on 的话会在 Header 里增加”Vary: Accept-Encoding”,我不需要这玩意,自己对照情况看着办吧

第 8 行:IE6 对 gzip 不怎么友好,不给它 gzip 了

4、 重启 nginx

查看 header,nginx gzip 压缩 开启成功!

本文地址 https://shaoshilei.com/2015-02/nginx-how-to-turn-gzip-compression-.html