Nginx如何开启gzip配置

  介绍

小编给大家分享一下Nginx如何开启gzip配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

Nginx实现资源压缩的原理是通过ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip压缩,该模块是默认基础的,不需要重新编译,直接开启即可。

基本配置

#,开启gzipgzip ;   ,   #,启用gzip压缩的最小文件,小于设置值的文件将不会压缩gzip_min_length  1 k;   ,   #,gzip 压缩级别,1 - 9,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明gzip_comp_level  1;   ,   #,进行压缩的文件类型.javascript有多种形式。其中的值可以在,mime.types 文件中找到.gzip_types 文本/plain 应用程序/javascript 应用程序/x-javascript 文本/css 应用程序/xml 文本/javascript 应用程序/x-httpd-php 图像/jpeg 图像/gif 图像/png 应用程序/vnd.ms-fontobject 字体/ttf 字体/opentype 字体/x-woff 图像/svg + xml;   ,   #,是否在http 头中添加不同:,接受编码,建议开启gzip_vary ;   ,   6 #,禁用IE  gzipgzip_disable “MSIE  \ \ [1 - 6] !”;   ,   #,设置压缩所需要的缓冲区大小gzip_buffers  32, 4 k;   ,   #,设置gzip压缩针对HTTP的协议版本,没做负载的可以不用#,gzip_http_version  1.0; #,开启缓存位置~ *,+ \ \ ^。gif (ico | | jpg | jpeg | png)美元,{   ,,access_log ;   expires 才能,,,2 d;   }   ,   的位置~ * ^。+ \ \。(css | js | txt xml | | swf | wav)美元,{   ,,access_log ;   expires 才能,,,24小时;   }   ,   的位置~ * ^。+ \ \。(html | htm)美元,{   expires 才能,,,1 h;   }   ,   的位置~ * ^。+ \ \。(测试结束| ttf |传递woff | | svg)美元,{   ,,access_log ;   expires 才能;马克思;   }   ,   #,#,格式expires  30年代;#,expires  30米;#,expires  2 h; #, expires  30 d;

检测效果

1。nginx的响应头中的内容编码是gzip

2。返回文件大小明显被压缩

压缩说明gzip>语法:,gzip_buffers  number 规模;   默认值:   gzip_buffers  32, 4 k | 16, 8 k;   http上下文:,,,,服务器,位置

gzip_comp_level

设置gzip压缩级别,级别越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大

语法:,gzip_comp_level 水平;默认值:   gzip_comp_level  1;背景:,,http,,服务器,位置

不是压缩级别越高越好,其实gzip_comp_level 1的压缩能力已经够用了,后面级别越高,压缩的比例其实增长不大,反而很吃处理性能。
另一方面,压缩一定要和静态资源缓存相结合,缓存压缩后的版本,否则每次都压缩高负载下服务器肯定吃不住。

gzip_disable

通过表达式,表明哪些UA头不使用gzip压缩

语法:,gzip_disable  regex …;   默认值:,,   背景:,,http,,服务器,locationThis  directive  appearedinversion  0.6.23。

gzip_min_length

当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩。

语法:,gzip_min_length 长度;默认值:   gzip_min_length  20;背景:,,http,,服务器,位置

gzip_http_version

用于识别http协议的版本,早期的浏览器不支持gzip压缩,用户会看到乱码,所以为了支持前期版本加了此选项。默认在http/1.0的协议下不开启gzip压缩。

语法:,gzip_http_version  1.0, |, 1.1;   默认值:   gzip_http_version  1.1;   http上下文:,,,,服务器,位置

在应用服务器前,如果还有一层Nginx的集群作为负载均衡,在这一层上,若果没有开启gzip。
如果我们使用了proxy_pass进行反向代理,那么Nginx和后端的upstreamserver之间默认是用http/1.0协议通信的。
如果我们的缓存服务器也是Nginx,而前端的Nginx没有开启gzip。
同时,我们后端的Nginx上没有设置gzip_http_version为1.0,那么缓存的url将不会进行gzip压缩。

gzip_proxied

Nginx做为反向代理的时候启用:

1. off 作用;关闭所有的代理结果数据压缩   2只;expired 作用;如果头中包含“到期”头信息,启用压缩   3. no-cache 作用;如果头中包含“cache - control: no - cache”头信息,启用压缩   4. no-store 作用;如果头中包含“cache - control:不是商店”头信息,启用压缩   5只private 安康;如果头中包含“cache - control:私人”头信息,启用压缩   6只no_last_modified 安康;启用压缩,如果头中包含“Last_Modified”头信息,启用压缩   7只no_etag 神启用压缩,如果头中包含“ETag头信息,启用压缩   8只;auth 作用;启用压缩,如果头中包含“授权”头信息,启用压缩   9. any 作用;无条件压缩所有结果数据

Nginx如何开启gzip配置