1.开启gzip
nginx实现资源压缩的原理是通过ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip压缩,该模块是默认基础的,不需要重新编译,直接开启即可。
2.参数配置
#开启和关闭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;
3.检测效果
1.nginx的response headers中的Content-Encoding是gzip
2.返回文件大小明显被压缩
4.检测方法
1.直接在浏览器通过开发者工具查看请求头、返回头等信息
2.使用curl命令行curl -I -H"Accept-Encoding: gzip, deflate" "http://www.example.com"
3.站长工具中的网页Gzip检测
5.开启失败常规情况
1.先检查gzip_types中是否包含需要的类型
2.如果公司存在多层缓存机制,确认每一层都开启了gzip压缩
3.开启 gzip_static on,确认服务器上是否存在.gz文件
作者:caohaoyu
链接:https://www.jianshu.com/p/843036970f03