RSS订阅 | TAGS | 工具箱 | 繁體

服务器 nginx

当前位置:奔牛网>服务器>nginx>Nginx开启gzip方法及详细配置参数说明

Nginx开启gzip方法及详细配置参数说明

时间:2017-05-12 | 来源:互联网 |作者:匿名 |阅读:|
gzip(GUN-ZIP)是一种通用网页压缩技术,在服务器端使用gzip压缩过的网页大小可以比原来更小30%甚至更多,这样可以大大减少对服务器带宽的消耗,以及提高传输速度缩短网页打开时间。目前市面上的绝大多数的浏览器都已经支持解析gzip过的页面。因此可以放心大胆的打开gzip功能。现在服务器瓶颈已经不在服务器性能,而是在带宽了,因此开启gzip虽然会略有消耗带宽,但是实际节省下的网络资源更客观,尤其对于很多按流量计费的云服务器更是如此。

Nginx的压缩输出是由一组gzip压缩指令来控制。相关指令要放置于http{….}两个大括号之间。
可以在SSH中执行
curl -I -H "Accept-Encoding: gzip, deflate" "http://www.bnxb.com/news/index.html"    (网址换成你自己网站的,要测试html文件的压缩有没有开启就换成带html的链接,要测试js,css文件的压缩有没有开启,就换成带js,css的链接)

奔牛网Bnxb.com


或者到https://www.bnxb.com/tools/check-header.php  输入你的域名
两个方法都是查询看看是不是有出现Content-Encoding: gzip ,出现就是已开启,未出现就是没开启

如果已经开启了,直接看看参数有没有需要调整的,没有开启的,可以直接把gzip的参数在http{….}两个大括号之间找个地方黏贴,这样匹配全服务器启用;也可以插入到虚拟主机的 server {...}或者下面的location模块内。

首先大家看看我服务器的gzip配置方案,nginx 版本:1.12:
gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.1;
gzip_comp_level 5;
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied   expired no-cache no-store private auth;
gzip_disable   "MSIE [1-6]\."; 本文来自奔牛网Bnxb.com




参数说明:
gzip on;
决定是否开启gzip模块
默认值: gzip off
作用域: http, server, location, if (x) location
参数:on|off   ,on开启,off关闭
案例:gzip on;


gzip_min_length
当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩
默认值: gzip_min_length 0
作用域: http, server, location
参数:int数值,K为单位
案例:gzip_min_length 1000;


gzip_buffers
设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。 例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。 www.bnxb.com
参数1:int数值
参数2:int(k) 后面单位是k
案例: gzip_buffers 4 8k;


gzip_http_version
用于识别http协议的版本,早期的浏览器不支持gzip压缩,用户会看到乱码,所以为了支持前期版本加了此选项,目前此项基本可以忽略,用系统默认值就行
语法: gzip_http_version 1.0|1.1
默认值: gzip_http_version 1.1
作用域: http, server, location
参数: 1.0|1.1
案例示例:gzip_http_version 1.1


gzip_comp_level
默认值: gzip_comp_level 1
作用域: http, server, location
gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)。
参数:1-9
案例:gzip_com_level 1;


gzip_types
设置需要压缩的MIME类型,非设置值不进行压缩
默认值: gzip_types text/html
作用域: http, server, location 奔牛网,Bnxb.com
参数:text/html|application/x-javascript|text/css|application/xml
案例:gzip_types text/html;
匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩。
注意:如果作为http server来使用,主配置文件中要包含文件类型配置文件
http
{
include       conf/mime.types;
......
}

如果你希望压缩常规的文件类型,可以写成这个样子
http
{
: include       conf/mime.types;
: gzip on;
: gzip_min_length  1000;
: gzip_buffers     4 8k;  
: gzip_http_version 1.1;
: gzip_types       text/plain application/x-JavaScript text/css text/html application/xml;
: ......
}



gzip_vary on;
启用应答头"Vary: Accept-Encoding",这个参数和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,因此根据客户端的HTTP头来判断,是否需要压缩
(0)
(0)
最新评论