nginx实现资源压缩的原理是经过ngx_http_gzip_module模块拦截请求,并对须要作gzip的类型作gzip压缩,该模块是默认基础的,不须要从新编译,直接开启便可。javascript
#开启和关闭gzip模式
gzip on|off;
#gizp压缩起点,文件大于1k才进行压缩
gzip_min_length 1k;
# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
gzip_comp_level 1;
# 进行压缩的文件类型。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript ;
#nginx对于静态文件的处理模块,开启后会寻找以.gz结尾的文件,直接返回,不会占用cpu进行压缩,若是找不到则不进行压缩
gzip_static on|off
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
# 设置压缩所须要的缓冲区大小,以4k为单位,若是文件为7k则申请2*4k的缓冲区
gzip_buffers 2 4k;
# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.1;
复制代码
1.nginx的response headers中的Content-Encoding是gzipcss
2.返回文件大小明显被压缩java
1.直接在浏览器经过开发者工具查看请求头、返回头等信息nginx
2.使用curl命令行curl -I -H"Accept-Encoding: gzip, deflate" "http://www.example.com"浏览器
3.站长工具中的网页Gzip检测缓存
1.先检查gzip_types中是否包含须要的类型bash
2.若是公司存在多层缓存机制,确认每一层都开启了gzip压缩服务器
3.开启 gzip_static on,确认服务器上是否存在.gz文件app