开启方法
upstream backend {
server 192.168.10.21:8000;
}
server {
listen 80;
gzip on; #开启gzip
gzip_disable "MSIE [1-6]."; #ie1-6浏览器时禁用gzip
gzip_vary on; #是否在响应头添加Content-Encoding
gzip_proxied any; #Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。
gzip_comp_level 6; #压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在6左右。
gzip_http_version 1.0; #识别http的协议版本
gzip_min_length 256; #低于256kb的资源不压缩
#需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片
gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;
...
}
以上配置可以放在http、server、location块均可.
避坑指南(gzip配置不生效)
gzip_http_version由1.1改为1.0就好了,nginx默认也是1.1。
验证方法
Chrome浏览器F12控制台,查看响应头的Content-Encoding:gzip证明已开启gzip:
或调出Content-Encoding字段:
查看压缩前后效果: