废话不多说上代码:
gzip on; gzip_min_length 100k; gzip_comp_level 6; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/bmp application/x-bmp image/x-ms-bmp application/vnd.ms-fontobject font/ttf font/opentype font/x-woff; gzip_vary on; gzip_disable "MSIE [1-6]\."; gzip_buffers 32 4k; gzip_http_version 1.1;
代码表述:
开启gzip资源压缩,超过100k开始压缩,压缩级别为6,压缩的资源类型 有js、css等等,gzip_vary on;会在请求头部加上Vary:Accept-Encoding,IE1-6不压缩,缓冲区大小 以4k 为单位32倍内存空间,在http/1.1的协议下不开启gzip压缩
验证是否成功
1 显示gzip表示成功
2 表示资源总大小
3 表示资源压缩后大小
4 如果你的页面没有效果可以看看是不是没有禁用缓存
以下是每个参数详解有兴趣可以看看
gzip_buffers 32 4K| 16 8K #设置用于处理请求压缩的缓冲区数量和大小。比如32 4K表示按照内存页(one memory page)大小以4K为单位(即一个系统中内存页为4K),申请32倍的内存空间。建议此项不设置,使用默认值。
gzip_comp_level [1-9] #推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)
gzip_disable #正则匹配UA 什么样的Uri不进行gzip
gzip_min_length 200 # 开始压缩的最小长度(再小就不要压缩了,意义不在)
gzip_http_version 1.0|1.1 # 开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议)
gzip_proxied # 设置请求者代理服务器,该如何缓存内容
Nginx做为反向代理的时候启用:
- off – 关闭所有的代理结果数据压缩
- expired – 如果header中包含”Expires”头信息,启用压缩
- no-cache – 如果header中包含”Cache-Control:no-cache”头信息,启用压缩
- no-store – 如果header中包含”Cache-Control:no-store”头信息,启用压缩
- private – 如果header中包含”Cache-Control:private”头信息,启用压缩
- no_last_modified – 启用压缩,如果header中包含”Last_Modified”头信息,启用压缩
- no_etag – 启用压缩,如果header中包含“ETag”头信息,启用压缩
- auth – 启用压缩,如果header中包含“Authorization”头信息,启用压缩
- any – 无条件压缩所有结果数据
gzip_types text/plain application/xml # 对哪些类型的文件用压缩 如txt,xml,html ,css
gzip_vary on|off # 是否传输gzip压缩标志
转自或参考博文:https://www.cnblogs.com/Renyi-Fan/p/11047490.html