Gzip
Ubuntu Nginx Gzip 建置常用指令
Categories:
参数说明
参数 | 说明 |
---|---|
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;
}
参考资料
- Enable gzip compression with nginx
- Module ngx_http_gzip_module
- What is the best nginx compression gzip level? - Server Fault
- Finding the Nginx gzip_comp_level Sweet Spot | Mjanja Tech