怎么才能注册网站,深圳seo关键词优化,百度云加速,如何在网站做电子报建立在动静分离的基础之上#xff0c;如果一个静态资源的Size越小#xff0c;那么自然传输速度会更快#xff0c;同时也会更节省带宽#xff0c;因此我们在部署项目时#xff0c;也可以通过Nginx对于静态资源实现压缩传输#xff0c;一方面可以节省带宽资源#xff0c;第…建立在动静分离的基础之上如果一个静态资源的Size越小那么自然传输速度会更快同时也会更节省带宽因此我们在部署项目时也可以通过Nginx对于静态资源实现压缩传输一方面可以节省带宽资源第二方面也可以加快响应速度并提升系统整体吞吐。
在Nginx也提供了三个支持资源压缩的模块ngx_http_gzip_module、ngx_http_gzip_static_module、ngx_http_gunzip_module其中ngx_http_gzip_module属于内置模块代表着可以直接使用该模块下的一些压缩指令后续的资源压缩操作都基于该模块先来看看压缩配置的一些参数/指令
参数项释义参数值gzip开启或关闭压缩机制on/offgzip_types根据文件类型选择性开启压缩机制image/png、text/css ...gzip_comp_level用于设置压缩机别级别越高越耗时1~9越高压缩效果越好gzip_vary设置是否携带Vary:Accept-Encoding头域的相应头部on/offgzip_buffers设置处理压缩请求的缓冲区数量和大小数量大小如16 8kgzip_disable针对不同客户端的请求来设置是否开启压缩如.*Chrome.*gzip_http_version指定压缩相应所需要的最低HTTP请求版本如1.1gzip_min_length设置触发压缩的文件最低大小如512kgzip_proxied对于后端服务器的相应结果是否开启压缩off、expired、no-cache
了解了Nginx中的基本压缩配置后接下来可以在Nginx中简单配置一下
vi /usr/local/nginx/conf/nginx.conf http{# 开启压缩机制gzip on;# 指定会被压缩的文件类型(也可自己配置其他类型)gzip_types text/plain application/javascript text/css application/xml text/javascript image/jpeg image/gif image/png;# 设置压缩级别越高资源消耗越大但压缩效果越好gzip_comp_level 5;# 在头部中添加Vary: Accept-Encoding建议开启gzip_vary on;# 处理压缩请求的缓冲区数量和大小gzip_buffers 16 8k;# 对于不支持压缩功能的客户端请求不开启压缩机制gzip_disable MSIE [1-6]\.; # 低版本的IE浏览器不支持压缩# 设置压缩响应所支持的HTTP最低版本gzip_http_version 1.1;# 设置触发压缩的最小阈值gzip_min_length 2k;# 关闭对后端服务器的响应结果进行压缩gzip_proxied off;
} 在上述的压缩配置中最后一个gzip_proxied选项可以根据系统的实际情况决定总共存在多种选项 off关闭Nginx对后台服务器的响应结果进行压缩。 expired如果响应头中包含Expires信息则开启压缩。 no-cache如果响应头中包含Cache-Control:no-cache信息则开启压缩。 no-store如果响应头中包含Cache-Control:no-store信息则开启压缩。 private如果响应头中包含Cache-Control:private信息则开启压缩。 no_last_modified如果响应头中不包含Last-Modified信息则开启压缩。 no_etag如果响应头中不包含ETag信息则开启压缩。 auth如果响应头中包含Authorization信息则开启压缩。 any无条件对后端的响应结果开启压缩机制。
分别来对比下压缩前后的区别 从图中可以很明显看出未开启压缩机制前访问时color.html文件的响应时间为8ms当配置好压缩后再重启Nginx会发现文件大小从8ms→4ms效果立竿见影 注意点①对于图片、视频类型的数据会默认开启压缩机制因此一般无需再次开启压缩。②对于.js文件而言需要指定压缩类型为application/javascript而并非text/javascript、application/x-javascript。