Gzip

Ubuntu Nginx Gzip 建置常用指令

参数说明

参数 说明
gzip on on = enable, off = disable
gzip_buffers 16 8k 压缩回应内容
gzip_comp_level 6 压缩等级,可设定 1 ~ 9 的整数,数字越大表示压缩的量越大,也越吃资源,请看个人环境而定
gzip_disable “msie6” 设定不压缩的条件,视 Request Header 中的 User-Agent 而定。可以设定 Regular Expression,例如: msie[4-6]
gzip_min_length 1k 文件内容小于 n 以下不压缩,这裡的文件内容指的是 Response Header 的 Content-Length,一样视个人需求而定,没有标准值
gzip_http_version 1.1 设定至少接受的 Http Version
gzip_proxied any 决定对来自 Proxy 的 Request 如何处理
gzip_types [mime-types] 指定需要压缩的 MIME types,或用 * 表示所有 MIME types
gzip_vary on 要不要在 Response Header “Vary: Accept-Encoding”

gzip_comp_level - 压缩等级

text/html - phpinfo():

0    55.38 KiB (100.00% of original size)
1    11.22 KiB ( 20.26% of original size)
2    10.89 KiB ( 19.66% of original size)
3    10.60 KiB ( 19.14% of original size)
4    10.17 KiB ( 18.36% of original size)
5     9.79 KiB ( 17.68% of original size)
6     9.62 KiB ( 17.37% of original size)
7     9.50 KiB ( 17.15% of original size)
8     9.45 KiB ( 17.06% of original size)
9     9.44 KiB ( 17.05% of original size)

application/x-javascript - jQuery 1.8.3 (Uncompressed)

0    261.46 KiB (100.00% of original size)
1     95.01 KiB ( 36.34% of original size)
2     90.60 KiB ( 34.65% of original size)
3     87.16 KiB ( 33.36% of original size)
4     81.89 KiB ( 31.32% of original size)
5     79.33 KiB ( 30.34% of original size)
6     78.04 KiB ( 29.85% of original size)
7     77.85 KiB ( 29.78% of original size)
8     77.74 KiB ( 29.73% of original size)
9     77.75 KiB ( 29.74% of original size)

如果有更多的 CPU 资源,可以将压缩等级设为 9,因为压缩比例在 1 之后并没有差异太大,对大部分的网站,gzip 设为 2 应该就足够了

Example

http {
    gzip on;
    gzip_min_length 1000;
    gzip_types  *;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
}

参考资料