文档章节

nginx gzip开启与配置

sluggarddd
 sluggarddd
发布于 2016/04/12 10:58
字数 776
阅读 200
收藏 0

  

使用gzip对文件进行压缩将大大降低带宽的使用。

常用gzip指令。

可在http块、server块、location块中设置。


gzip 用于开启或者关闭gzip模块

gzip on | off


gzip_buffers  设置gzip压缩文件使用缓存空间的大小,其作用是按块大小的倍数申请内存空间

gzip_buffers number size
#eg: gzip_buffers 16 8k

number 指定Nginx服务器需要向系统申请缓存空间的个数

size 指定每个缓存空间的大小


gzip_comp_level 设置gzip压缩等级,等级越低压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大,占用的cpu资源也与压缩等级正相关。

gzip_comp_level level
#eg gzip_comp_level 6

等级范围 1-9
默认级别为 1


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

gzip_min_length length
#eg: gzip_min_length 100 | 10K


gzip_http_version 用于识别http协议的版本,早期的浏览器不支持gzip压缩,用户会看到乱码,所以为了支持前期版本加了此选项,目前此项基本可以忽略

gzip_http_version 1.0 | 1.1


gzip_proxied
Nginx做为反向代理的时候启用,前提是后端服务器返回的响应页头部中,Requests部分包含用于通知代理服务器的Via头域。

gzip_proxied off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any]
#eg: gzip_proxied any

off – 关闭所有的代理结果数据压缩
expired – 启用压缩,如果header中包含”Expires”头信息
no-cache – 启用压缩,如果header中包含”Cache-Control:no-cache”头信息
no-store – 启用压缩,如果header中包含”Cache-Control:no-store”头信息
private – 启用压缩,如果header中包含”Cache-Control:private”头信息
no_last_modified – 启用压缩,如果header中包含”Last_Modified”头信息
no_etag – 启用压缩,如果header中包含“ETag”头信息
auth – 启用压缩,如果header中包含“Authorization”头信息
any – 无条件压缩所有结果数据


gzip_types
设置需要压缩的MIME类型,非设置值不进行压缩

gzip_types mime-type
#eg: gzip_types application/javascript text/plain application/x-javascript text/css application/xml text/javascript;

对于多数以文本为主的站点来说,文本自身内容占流量的绝大部分。虽然单个文本体积并不算大,但是如果数量众多的话,流量还是相当可观。


gzip_vary

告诉接收方发送的数据经过了压缩处理,开启后的效果是在响应头部添加了Accept-Encoding:gzip,这对于本身不支持gzip压缩的客户端浏览器有用。

gzip_vary on | off
#eg: gzip_vary on


gzip_disable

对于不同类型客户端发起的请求,可选择性开启或者关闭gzip功能。

gzip_disable regex ...;
eg: gzip_disable MSIE [4-6]\.


启动gzip也有可能起到负效果,例如图片本身是经过高度压缩的,所以在对其进行压缩用处不大,并且及其浪费cpu资源。

demo样例

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";


© 著作权归作者所有

sluggarddd
粉丝 7
博文 14
码字总数 11821
作品 0
程序员
私信 提问
Nginx的Gzip压缩简单配置

ngxhttpgzip_module模块 主要负责Gzip功能的开启和设置,对相应数据进行实时压缩. gzip指令 用于开启Gzip功能 ,默认为off gzip_buffers指令 用于设置Gzip压缩文件使用缓存空间的大小 number指...

期待l
2018/08/07
0
0
优化Laravel网站打开速度

1.关闭debug 打开文件,把设置为. 2.缓存路由和配置 3.composer优化 4.Laravel优化命令 5.使用Laravel缓存 使用Laravel的Cache方法缓存内容,有文件缓存,数据库缓存,redis缓存。 6.使用CDN...

Jimmy
2017/06/27
0
0
Nginx配置gzip压缩的简单示例

本文介绍下,在nginx中配置gzip压缩的简单例子,一段核心的配置节代码,供大家参考。 在nginx中配置gzip压缩很简单,只需要几行代码即可。 使用 gzip 压缩可以降低网站带宽消耗,提升访问速度...

mysoftsky
2013/09/04
138
0
nginx学习--nginx下的gzip与vary、预压缩、缓存、反向代理的结合

来自:nginx系列(十七)nginx下的gzip与vary、预压缩、缓存、反向代理的结合 介绍 在http的协议里,为了减少网络传输,允许将报文进行gzip压缩以后再传输。虽然网络传输体积减小了,但是服务器...

spinachgit
2018/12/23
145
0
vue cli3开启gzip,nginx配置直接使用已经压缩好的文件(文件名为加.gz)

前言:vue cli3的性能优化里面,开启gzip能得到很多的收益。通过webpack插件compression-webpack-plugin可以在打包的时候生成.gz文件;当用nginx做服务器时,nginx通过gzip on;配置可对每个请...

hkaikai
06/29
310
0

没有更多内容

加载失败,请刷新页面

加载更多

webGL和three.js的关系

本文转载于:专业的前端网站➤webGL和three.js的关系 如今浏览器的功能越来越强大,而且这些功能可能通过JavaScript直接调用。你可以用HTML5标签轻松地添加音频和视频,而且可以在HTML5画布上...

前端老手
11分钟前
3
0
Spring如何实现AOP,请不要再说cglib了!

1. 从注解入手找到对应核心类 最近工作中我都是基于注解实现AOP功能,常用的开启AOP的注解是@EnableAspectJAutoProxy,我们就从它入手。 上面的动图的流程的步骤就是: @EnableAspectJAutoPr...

温安适
14分钟前
13
0
Mybatis之ParameterHandler

mybatis-3.4.6.release. ParementerHandler是个接口,如下List-1 List-1 public interface ParameterHandler { Object getParameterObject(); void setParameters(PreparedStateme......

克虏伯
28分钟前
3
0
Spark sql的批处理物理计划BatchScanExec

BatchScanExec是batch类的物理计划,对应的逻辑计划是DataSourceV2Relation,是Datasource。 它的入参是Scan类,Scan类有两个重要方法,一个获取分区列表信息;另一个方法获取读取器工厂。 ...

守望者之父
32分钟前
10
0
for循环与while循环

循环结构三要素 a. 初始值 b. 循环条件 c. 改变条件 for循环 声明格式 for(表达式1;表达式2;表达式3){ 循环体语句 } 表达式1:用来循环的变量初始值。(开始值) 表达式2:用来判断循环的条件。...

Lenat
38分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部