本文详细介绍了Nginx的关键点。如果按照gzip压缩提高网站打开速度,原文按照示例代码非常详细,对大家的学习培训或者工作有一定的参考价值,盆友一定要参考。
1。nginx为什么要应用gzip
1、压缩的效果:
页面被gzip压缩后,
页面尺寸可以减小到原始尺寸的大约1/7,
可以大大提高传输速率和网页打开时间,
有利于客户页面访问体验的提升。
2、Nginx压缩gzip的基本原理:
根据ngx_http_gzip_module控制模块阻塞要求,
并对必须是gzip的类型进行gzip压缩。
3、ngx_http_gzip_module集成了Nginx的默认设置,
不需要重新编译程序,直接打开即可。
源代码:https://github.com/liuhongdi/
二。gzip控制模块应用示例
gzipon; gzip_min_length1k; gzip_disable"MSIE[1-6]\."; gzip_comp_level5; gzip_typestext/csstext/javascripttext/xmltext/plainapplication/jsonapplication/javascriptapplication/x-javascriptapplication/xmlapplication/xmlrss; gzip_http_version1.1;每个命令的指示:
gzip打开;
打开gzip模式,
默认值为off,即不启用gzip压缩。
将其设置为开是很自然的。
gzip_min_length1k
设置压缩网页的最小允许字节数,该字节数从标题中的Content-Length获得。
小文档内容压缩后的实际效果并不显著,甚至比不压缩的效果还要高。
默认值是20,这太高也太小,
一般设置为长度不小于1k。
gzip_disable
IE6对Gzip的实际作用很弱,所以没有启用。
gzip_comp_level:
Gzip压缩级别,1-9,
数据越大,压缩比越高,但占用的CPU时间也越多。
其默认值为1,通常设置为5或6。
如果cpu使用率高,设置为2或3就可以了。
gzip_http_version:
设置适用于gzip压缩的最低HTTP版本,
如果小于这个版本,则不应用gzip压缩。
默认值为1.1。
一般应用1.1。
gzip_types:
对于什么样的网页启用gzip压缩,几个值之间用空隔开。
通配符*可以与任何类型一起使用,但不能使用该值。
只有js/css/html/text压缩有明显的实用效果,
启用诸如已经由压缩优化算法解决的照片之类的文档的压缩没有显著的实际效果。
1,不管是不是特定的文本/html类型,该类型的响应总是启用压缩,
因此,可以省略该值。
2.文件属性匹配的mime-type可以参考nginx/conf/mime.types文档。
3、9常见价值观:
文本/css文本/javascript文本/xml文本/纯文本
应用程序/json应用程序/javascript应用程序/x-javascript
应用程序/xml应用程序/xmlrss
三。案例中未采用的其他设置:
gzip_buffers416k
gzip_varyon
gzip_proxiedany
gzip_vary:
应用可变标题,
如果打开,“变化:接受-编码”将在标题中提升。
该值使得在前端开发的cdn能够加速其文件已经过GZIP压缩的网页的缓存,
比如用Squid缓存nginx压缩的文件的数据信息。
如果squid或者varnish开发应用在nginx的前端,
您可以将该值设置为开。
gzip_proxied
当nginx是前端开发代理时启用此选项,
如果值为any,则表示无论后端开发网络服务器的头返回什么信息,
没有理由启用压缩。
如果nginx用作反向代理,
将该值设置为any。
gzip_buffers:
设置缓冲区的大小来解决压缩。
默认值:324k|169k
24k意味着基于4k的企业将为响应数据信息申请32倍(129k)4K大小的运行内存。
未设置此项,将应用默认值。
四。查询gzip的实际压缩效果
1、应用卷曲查询
#-I,-headshowdocumentinfo仅显示标题信息。
#-h,-headerline:将自定义标题行传递给服务器(h)自定义请求标题的信息。
[root@localhostcurl]#curl-I-H"Accept-Encoding:gzip,deflate"http://www.lhdtest.net HTTP/1.1200OK Server:openresty Date:Mon,27Apr202007:59:38GMT Content-Type:text/html;charset=utf-8 Connection:keep-alive Vary:Accept-Encoding Set-Cookie:SESSID_WEB=5ks2eh03vmv4dhje29ggojl1bs;path=/ Expires:Thu,19Nov198108:52:00GMT Cache-Control:no-store,no-cache,must-revalidate Pragma:no-cache Content-Encoding:gzip说明看到Conten_Encoding:gzip说明gzip压缩已经生效。
2.根据电脑浏览器查看实际效果。
从电脑浏览器的响应头信息可以看出gzip是否工作;
屏幕截图:压缩前后的实际效果对比:
压缩前:
压缩后:
显示我用的是火狐的web控制面板,大家可以用yslow之类的软件试试。
五、查询nginx的版本:
[root@centos8soft]#/usr/local/soft/nginx-1.18.0/sbin/nginx-v nginxversion:nginx/1.18.0文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)