开启Nginx的gzip压缩功能详解
来源:互联网 发布:二维数组是什么 编辑:程序博客网 时间:2024/05/17 08:56
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip过的页面。
Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于http{….}两个大括号之间。
默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦(与节约带宽相比,宁愿选择节约带宽,节约带宽就是快速响应用户的访问),如下图,
Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行压缩传输,我们需要手动来调。 开启gzip的指令如下:
gzip on;gzip_min_length 1k;gzip_buffers 16 64k;gzip_http_version 1.1;gzip_comp_level 6;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;
gzip on;
//该指令用于开启或关闭gzip模块(on/off)
gzip_min_length 1k;
//设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。
gzip_buffers 4 16k;
//设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。
gzip_http_version 1.1;
//识别http的协议版本(1.0/1.1)
gzip_comp_level 2;
//gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)
gzip_types text/plain application/x-javascript text/css application/xml
//匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。
关于gzip_types,如果你想让图片和JS文件也开启gzip压缩,那么用以下这段吧:
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
//和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩
注意:
1. 其中的gzip_http_version的设置,它的默认值是1.1,就是说对HTTP/1.1协议的请求才会进行gzip压缩
如果我们使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间是用HTTP/1.0协议通信的
This module makes it possible to transfer requests to another server.
It is an HTTP/1.0 proxy without the ability for keep-alive requests yet. (As a result, backend connections are created and destroyed on every request.) Nginx talks HTTP/1.1 to the browser and HTTP/1.0 to the backend server. As such it handles keep-alive to the browser.
如果我们使用nginx通过反向代理做Cache Server,而且前端的nginx没有开启gzip
同时,我们后端的nginx上没有设置gzip_http_version为1.0,那么Cache的url将不会进行gzip压缩
2. gzip_disable的设置是禁用IE6的gzip压缩,又是因为杯具的IE6
IE6的某些版本对gzip的压缩支持很不好,会造成页面的假死,今天产品的同学就测试出了这个问题
后来调试后,发现是对img进行gzip后造成IE6的假死,把对img的gzip压缩去掉后就正常了
为了确保其它的IE6版本不出问题,所以就加上了gzip_disable的设置
1)、检查Linux下Nginx是否已安装或安装是否成功:ps -aux | grep nginx
2)、lnmp一键安装包
3)、网页GZIP压缩检测
4)、基于Nginx+php+Redis的短URL系统的实现
友情链接:中视网
- 开启Nginx的gzip压缩功能详解
- 开启Nginx的gzip压缩功能详解
- 开启Nginx的gzip压缩功能详解
- 开启Nginx gzip压缩功能
- Nginx开启Gzip压缩功能
- 网页性能优化开启Nginx的 gzip 压缩功能
- nginx 开启 gzip 压缩
- Nginx开启Gzip压缩
- Nginx开启gzip压缩
- Nginx 开启Gzip压缩的方法
- 【Nginx】Nginx开启gzip压缩
- apache开启gzip的压缩功能
- 在nginx服务器下,开启配置 gzip 网站压缩功能
- Nginx开启Gzip详解
- nginx的gzip压缩功能的配置
- 为你的网站开启 gzip 压缩功能(nodejs、nginx)
- 为你的网站开启 gzip 压缩功能(nodejs、nginx)
- Nginx开启gzip压缩配置
- ECMA167 - Volume数据结构
- 京东开放平台-卖家整体解决方案提供商
- java 动态代理
- thrift 安装
- MAX3232问题
- 开启Nginx的gzip压缩功能详解
- 什么是Windows能干而Linux干不了的
- 直接拿来用!最火的iOS开源项目(三)
- 请各位大师指点!!!
- 随机生成小写字母
- IO学霸3 -- Serializable
- Android TextView属性详解
- Eigen: C++矩阵处理工具——Eigen
- 极光推送