开启Nginx的gzip压缩功能详解

开启gzip的指令如下:

 代码如下 复制代码

gzip on;
gzip_http_version 1.0;
gzip_disable "MSIE [1-6].";
gzip_types text/plain application/x-javascript text/css text/javascript;

关于gzip_types,如果你想让图片也开启gzip压缩,那么用以下这段吧:

gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png;

网站开启gzip压缩,不仅能够节省带宽,也能够快速响应用户的访问,在nginx中,开启gzip压缩的方法为:
gzip on;      (启用 gzip 压缩功能)

    gzip_proxied any;  (nginx 做前端代理时启用该选项,表示无论后端服务器的headers头返回什么信息,都无条件启用压缩)

    gzip_min_length  1024; (最小压缩的页面,如果页面过于小,可能会越压越大,这里规定大于1K的页面才启用压缩)

    gzip_buffers     4 8k; (设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流)

    gzip_comp_level 3; (压缩级别,1压缩比最小处理速度最快,9压缩比最大但处理最慢,同时也最消耗CPU,一般设置为3就可以了)

    gzip_types       text/plain text/css application/x-javascript application/javascript application/xml; (什么类型的页面或文档启用压缩)

注意:

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的设置

时间: 2024-10-23 17:34:59

开启Nginx的gzip压缩功能详解的相关文章

nginx下gzip配置参数详解_nginx

Nginx自带的有gzip模块 http://wiki.nginx.org/NginxChsHttpGzipModule ,这个模块支持在线实时压缩输出数据流.经过良好的配置优化,可以大幅的提升网站的输出效率. __使用范例__ 复制代码 代码如下: gzip on; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml; 内

apache开启gzip压缩配置详解

启apache2的gzip 在http.conf里会找到如下行; 如果没有请加上 #LoadModule deflate_module modules/mod_deflate.so  去掉"#"号.表示已经启用了GZIP. 更多定制 开启了压缩功能.可以很好的使用了,如果你还想更详尽的定制的话,请看下面: 可以在http.conf后面加上这一段进行定制:(如非必要,用默认的就好了) <ifmodule mod_deflate.c> DeflateCompressionLev

wordpress开启GZIP压缩方法详解

方法一:插件GZippy,附上下载地址. http://wordpress.org/extend/plugins/gzippy/ 使用插件最简单啊,安装后启用即可.你博客兴许会自带一些缓存插件有gzip功能的,请注意不要用混了. 方法二:将以下代码粘贴到function.php文件中去.  代码如下 复制代码 function gzippy() {  ob_start('ob_gzhandler'); } if(!stristr($_SERVER['REQUEST_URI'], 'tinymce

三步教你开启IIS的GZIP压缩功能_win服务器

HTTP压缩 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法.HTTP压缩采用通用的压缩算法如GZIP等压缩HTML.JavaScript或CSS文件.压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度.当然,同时也会增加一点点服务器的负担.GZIP是比较常见的一种HTTP压缩算法. 部署方法 1. 打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务".在"HTT

tomcat 开启gzip的方法详解

打开conf/server.xml文件可以看到:  代码如下 复制代码 <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->     <Connector port="8080"               maxHttpHeaderSize="8192"                maxThreads="150" minSpareThreads="25

nginx配置gzip压缩页面_nginx

gzip(GNU-ZIP)是一种压缩技术.经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多.gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析. Nginx的压缩输出有一组gzip压缩指令来实现.相关指令位于http{-.}两个大括号之间. gzip on;该指令用于开启或关闭gzip模块(on/off) gzip_min_length 1k;设置允许压缩的页面最小字节数,页面字节数从header头得c

启用IIS的Gzip压缩功能

     启用IIS的Gzip压缩功能现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率.对于纯文本来讲,压缩率是相当可观的.如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了.二此功能在IIS6.0得到了集成,但是并没有提供一个很好的接口来操作.      <1>首先,如果你需要压缩静

Android6.0 屏幕固定功能详解_Android

可能大家看到这个标题不知道是什么东西,我先说明下,android6.0在设置->安全->屏幕固定开启后,然后再长按home键出现最近的几个Activity可以选择一个图钉按钮就开启了屏幕固定功能. 屏幕固定开启后,屏幕只能固定在设定的Task上的Activity切换. 一.设置固定屏幕 我们先来看SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java的代码,这段代码就是长按home键出现几个Activity,然后按

动态网页启用IIS的Gzip压缩功能对搜索引擎的影响

西安弈聪网站是我的企业网站,公司主要从事软件开发,网站建设业务.所以从网站的关键词和业务定位上分析,我们把网站的主关键词定为"西安网站建设,西安建网站,西安软件公司",辅助关键词定位为"西安建网站价格,西安建网站公司,西安软件开发公司"等几个关键词. 网站的程序是我们公司自己开发的,后台程序设计时融合和有利于SEO的各个细节.如:整站生成静态网页;每页的title和描述keywords各不同;网站后台自动生成http://www.aliyun.com/zixun/a