文章正文
Nginx-缓存、压缩
【文章】2020-04-23
简介Nginx-缓存、压缩
场景:业务中一般存在页面来回切换或加载同样的素材,若每次相同素材加载都需要重新加载是很消耗流量和加重响应速度
解决:nginx通过expires配置缓存时间告知浏览器该素材可进行缓存并缓存多长时间;
expires
语法:expires [time|@time-of-day|epoch|max|off]
默认值:expires off
使用字段:http, server, location
这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。
·off 将禁止修改头部中的 Expires和Cache-Control字段。
·epoch 将Expires头设置为1 January, 1970 00:00:01 GMT。
·max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 years。
·如果将指令设置为一个不带@标记的值,那么过期时间将是应答时间的相对时间(如果这个时间在“modified”之前),或者是文件的修改时间(当"modified"存在,在版本0.7.0和0.6.32可用),并且可以指定一个负的时间,它将Cache-Control头设置为no-cache比较。
·如果指令的值被设置为一个带@标记的值,那么将指定一个绝对的time-of-day过期时间,可以指定两种格式分别为Hh或Hh:Mm,其中H的大小范围为0到24,M的大小范围为0到59(在0.7.9和0.6.34可用)。
一个非负的时间值将Cache-Control头设置为 max-age = #,#将适当的换算为秒数。
注意:expires仅仅适用于200, 204, 301, 302,和304应答
常用的配置:
server {
listen 8080;
server_name localhost;
location / {
root html;
}
#告知浏览器缓存此文件并设置缓存时间
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 10s;#缓存2秒
#expires 2m;#缓存2分钟
#expires 2h;#缓存2小时
#expires 2d;#缓存2天
root html;
}
error_page 500 502 503 504 /50x.html;
location /50x.html {
root html;
}
}
通过测试我们可以看到二次访问加载时间为0秒;响应上显示缓存时间为10秒,达到要求
压缩
场景:一些项目静态资源如html、css、js等都很多且很大,请求起来很费时间及流量,但这些资源往往都可以进行压缩,并且压缩比例很大;
解决:nginx使用gzip可指定类型进行压缩
gzip
语法:gzip on|off
默认值:gzip off
使用字段:http, server, location, location中的if字段
指定是否启用gzip压缩。
经常搭配下面使用:
gzip_types:默认值为gzip_types text/html ;为除“text/html”之外的MIME类型启用压缩,“text/html”总是会被压缩。
gzip_min_length:默认值为gzip_min_length 0 ;设置被压缩的最小请求,单位为bytes。少于这个值大小的请求将不会被压缩,这个值由请求头中的Content-Length字段决定。
gzip_buffers :默认值为gzip_buffers 4 4k/8k ;指定缓存压缩应答的缓冲区数量和大小,如果不设置,一个缓存区的大小为分页大小,根据环境的不同可能是4k或8k。
gzip_comp_level :默认值为gzip_comp_level 1 ;指定压缩等级,其值从1到9,1为最小化压缩(处理速度快),9为最大化压缩(处理速度慢)。
实例如下:
server {
listen 2015;
server_name localhost;
location / {
# 对js、css、html格式的文件启用gzip压缩功能,图片格式由于压缩比例太小,且压缩耗费cpu不建议压缩
gzip on; # 启用gzip压缩,默认是off,不启用
gzip_types application/javascript text/css;#为除“text/html”之外的MIME类型启用压缩,“text/html”总是会被压缩。
gzip_min_length 1024; # 所压缩文件的最小值,小于这个的不会压缩
gzip_buffers 4 1k; # 设置压缩响应的缓冲块的大小和个数,默认是内存一个页的大小
gzip_comp_level 1; # 压缩水平,默认1。取值范围1-9,取值越大压缩比率越大,但越耗cpu时间
root html;
}
error_page 500 502 503 504 /50x.html;
location /50x.html {
root html;
}
}
打赏支持
感谢您的支持,加油!
打开微信扫码打赏,你说多少就多少
找书费时,联系客服快速获取!
在线客服8:30-22:30,若离线请留言!
获取教程,请联系在线客服!
在线客服8:30-22:30,若离线请留言!
热门阅读
-
期货市场技术分析——期(现)货市场、股票市场、外汇市场、利率 (美)约翰·墨菲 丁圣元译 PDF 9787548282228 出版时间:1994.pdf
期货市场技术分析——期(现)货市场、股票市场、外汇市场、利率 (美)约翰·墨菲 丁圣元译 PDF 9787548282228 出版时间:1994.pdf ...
-
股票 期货市场技术分析 何志刚等主编 南昌:江西高校出版社 PDF 7810334816 1997.pdf
股票 期货市场技术分析 何志刚等主编 南昌:江西高校出版社 PDF 7810334816 1997.pdf ...
-
中华刑罚发达史:野蛮到文明的嬗变 罗翔 著 中国法制出版社 9787802263253 PDF_出版时间:2006年08月.pdf
中华刑罚发达史:野蛮到文明的嬗变 罗翔 著 中国法制出版社 9787802263253 PDF_出版时间:2006年08月.pdf ...
-
刑法中的同意制度 以性侵犯罪切入 罗翔著 北京:法律出版社 PDF 9787511839541 2012.pdf
刑法中的同意制度 以性侵犯罪切入 罗翔著 北京:法律出版社 PDF 9787511839541 2012.pdf ...
-
新铁证待判 麦道卫著 北京市:宗教文化出版社 PDF 7801238087 2006.pdf
新铁证待判 麦道卫著 北京市:宗教文化出版社 PDF 7801238087 2006.pdf ...
-
船山全书 第1册 船山全书序例、周易内传、周易大象解、周 (明)王夫之著;船山全书编辑委员会编校 长沙:岳麓书社 PDF 7805201307 1988.pdf
船山全书 第1册 船山全书序例、周易内传、周易大象解、周 (明)王夫之著;船山全书编辑委员会编校 长沙:岳麓书社 PDF 7805201307 1988.pdf ...
-
学前儿童健康教育与活动指导 庞建萍,柳倩主编 上海:华东师范大学出版社 PDF 9787567516212 2014.pdf
学前儿童健康教育与活动指导 庞建萍,柳倩主编 上海:华东师范大学出版社 PDF 9787567516212 2014.pdf ...
-
涨停接力 均线上的舞者 清华大学出版社 PDF 9787302541547 出版时间:2019年12月.pdf
涨停接力 均线上的舞者 清华大学出版社 PDF 9787302541547 出版时间:2019年12月.pdf ...
-
二十年目睹之怪现状 (清)吴趼人著 江苏出版社 PDF 9787550625785 2017.pdf
二十年目睹之怪现状 (清)吴趼人著 江苏出版社 PDF 9787550625785 2017.pdf ...
-
中国古典文学名著 二十年目睹之怪现状 (清)吴趼人著 哈尔滨:北方文艺出版社 PDF 9787531728986 2013.pdf
中国古典文学名著 二十年目睹之怪现状 (清)吴趼人著 哈尔滨:北方文艺出版社 PDF 9787531728986 2013.pdf ...