在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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; 内置变量 $gzip_ratio 可以获取到gzip的压缩比率 指令: 复制代码 代码如下: [#gzip gzip] [#gzip_buffers gzip_buffers] [#gzip_comp_level gzip_comp_level] [#gzip_min_length gzip_min_length] [#gzip_http_version gzip_http_version] [#gzip_proxied gzip_proxied] [#gzip_types gzip_types] gzip 语法: gzip on|off gzip_buffers 语法: gzip_buffers number size 如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。 gzip_comp_level 语法: gzip_comp_level 1..9 gzip_min_length 语法: gzip_min_length length gzip_http_version 语法: gzip_http_version 1.0|1.1 gzip_proxied 语法: gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] … off – 关闭所有的代理结果数据的压缩 gzip_types 语法: gzip_types mime-type [mime-type ...] 复制代码 代码如下: http { include conf/mime.types; …… } 如果你希望压缩常规的文件类型,可以写成这个样子 复制代码 代码如下: http { include conf/mime.types; gzip on; …… 默认情况下,Nginx的gzip压缩是关闭的 同时,Nginx默认只对text/html进行压缩 所以,开启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; 注意: 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 |
请发表评论