今天在开发过程中,发现在linux上下载某ttl文件(字体文件)太大,传输过程比较慢,于是就想着使用nginx的gzip进行压缩,经过不断尝试,终于发现在nginx的配置目录/etc/nginx/mine.types 文件中少了
font/ttf ttf;
造成nginx不能识别ttf文件,加上后就能压缩了(ttf在nginx中默认是没有配置的,需要手动去加)
下载是nginx.conf开启压缩具体的配置
gzip on; #是否开启gzip压缩
gzip_comp_level 5; #设置压缩等级 范围1-9 等级越低压缩比越小
gzip_buffers 4 16k; # 设置用于处理请求压缩的缓冲区数量和大小 4 32k 表示 以32k为单位的4倍申请内存
gzip_vary on; # 启用应答头"Vary: Accept-Encoding"
gzip_min_length 1k; # 设置开启压缩的最小字节
gzip_types font/ttf font/opentype font/x-woff; # 压缩指定类型,类型需要对应mine.types文件中定义的MIME Type
mime.type是什么?
mime type 就是资源的媒体类型,方便浏览器区分
当nginx接收到请求时,会根据请求文件的后缀名在服务器的MIME配置文件寻找对应的MIME type ,再根据对应的MIME type 设置 Response的Content-Type
最后,怎么检查是否压缩?这里推荐一个网站 http://tool.chinaz.com/ 看到已经压缩,就说明大功告成了,但是,压缩效果有点不理想,再去找找其他办法吧。。。
|