Nginx压缩优化gzip参数说明
【详情参考】范仁义: nginx中如何设置gzip(总结).
Nginx各文件位置
log: /var/log/nginx/*
src/modules : /usr/lib/nginx/modules/*
sbin: /etc/nginx/*
nginx的gzip调参位置
本人nginx.conf在Ubuntu18的/etc/nginx/nginx.conf,进入文件夹后,把gzip的参数写在server中,在location之前设置。
进行nginx压缩的关键参数
gzip on|off;
- 是否开启gzip
gzip_buffers 32 4K| 16 8K
- 缓冲(压缩在内存中缓冲几块? 每块多大?)
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协议),proxy_pass进行反向代理,nginx和后端的upstream server之间默认是用HTTP/1.0协议通信的。
- 用Apache ab做压测,如果不是设置gzip_http_version为1.0,也压不出gzip的效果
gzip_proxied any
- 设置请求者代理服务器,该如何缓存内容
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压缩标志(增加响应头)
- 在页面请求的响应头中Content-Encoding:gzip(显示)
- Transfet-Encoding:chunked 是指压缩后分块传输
gzip_disable “MSIE [1-6].”
- 配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_types 针对那种传输的文件进行压缩
- gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/png image/jpeg image/jpg; (图片和mp3二进制文件,不必压缩,压缩比率小,耗费CPU资源)
字体类型扩展名 Content-type
.eot application/vnd.ms-fontobject
.ttf font/ttf
.otf font/opentype
.woff font/x-woff
.svg image/svg+xml