举杯邀月

Nginx服务器中使用gzip压缩的相关配置解析

摘要:Nginx服务器中使用gzip压缩的相关配置解析,网站的css、js、xml、html 在传输的时候可以使用gzip压缩,提高访问速度。

完整示例:

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 4;
gzip_types text/css  image/jpeg image/gif image/png;
gzip_http_version 1.1;
gzip_proxied any;
gzip_disable "MSIE [1-6]\.";
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

gizp的作用域为:http, server, location

内置变量 $gzip_ratio 可以获取到gzip的压缩比率

gzip

语法: gzip on|off

默认值: gzip off

开启或者关闭gzip模块

gzip_min_length

语法: gzip_min_length length

默认值: gzip_min_length 0

设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。

默认值是0,不管页面多大都压缩。

建议设置成大于1k的字节数,小于1k可能会越压越大。 即: gzip_min_length 1024

gzip_buffers

语法: gzip_buffers number size

默认值: gzip_buffers 4 4k/8k

设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。例如:

4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。

4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。

如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。

gzip_comp_level

语法: gzip_comp_level 1-9

默认值: gzip_comp_level 1

gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)。

gzip_types

语法: gzip_types [mime-type …]

默认值: gzip_types text/html

匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩的。

小提示:可从浏览器响应信息的Content-Type查看某个类型

gzip_http_version

语法: gzip_http_version 1.0|1.1

默认值: gzip_http_version 1.1

识别http的协议版本。由于早期的一些浏览器或者http客户端,可能不支持gzip自解压,用户就会看到乱码,所以做一些判断还是有必要的

gzip_proxied

语法: gzip_proxied [off|expired|no-cache|any|…]

默认值: gzip_proxied off

Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。

  • 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_disable

为指定的客户端禁用 gzip 功能。我们设置成 IE6 或者更低版本以使我们的方案能够广泛兼容。


最后设置好后需要进行重启nginx服务,然后通过响应头信息里的Content-Encoding查看

作者:举杯邀月

出处: http://www.hug-code.cn/archives/5fc0b2ec53c22.html

2020-04-17 标签: nginx