文章正文
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,若离线请留言!
热门阅读
-
活性污泥法工艺控制 第3版 张建丰 中国电力出版社 PDF 9787519849979 出版时间:2021年04月.pdf
活性污泥法工艺控制 第3版 张建丰 中国电力出版社 PDF 9787519849979 出版时间:2021年04月.pdf ...
-
物理学中的张量分析 刘连寿,郑小平著 北京:科学出版社 PDF 9787030230348 出版时间:2008.pdf
物理学中的张量分析 刘连寿,郑小平著 北京:科学出版社 PDF 9787030230348 出版时间:2008.pdf ...
-
秦始皇石刻 早期中国的文本与仪式 (美)柯马丁著 上海:上海古籍出版社 PDF 9787532574810 2015.pdf
秦始皇石刻 早期中国的文本与仪式 (美)柯马丁著 上海:上海古籍出版社 PDF 9787532574810 2015.pdf ...
-
从数学观点看物理世界 几何分析引力场与相对论 马天著 北京:科学出版社 PDF 9787030356604 出版时间:2012.pdf
从数学观点看物理世界 几何分析引力场与相对论 马天著 北京:科学出版社 PDF 9787030356604 出版时间:2012.pdf ...
-
鲜为人知的俄国革命 马赫诺运动、喀琅施塔得起义及托洛茨基主义、列宁主义问题 赵京著 PDF 97871458304117 出版时间:2011.pdf
鲜为人知的俄国革命 马赫诺运动、喀琅施塔得起义及托洛茨基主义、列宁主义问题 赵京著 PDF 97871458304117 出版时间:2011.pdf ...
-
当代中国政府与政治 景跃进 陈明明 肖滨 中国人民大学出版社 9787300220055 PDF 出版时间:2016年01月.pdf
当代中国政府与政治 景跃进 陈明明 肖滨 中国人民大学出版社 9787300220055 PDF 出版时间:2016年01月.pdf ...
-
四千年农夫 (美)富兰克林.H.金著;程存旺,石嫣译 北京:东方出版社 PDF 7506092111 出版时间:2016.pdf
四千年农夫 (美)富兰克林.H.金著;程存旺,石嫣译 北京:东方出版社 PDF 7506092111 出版时间:2016.pdf ...
-
大学思辨英语教程 写作 2 说明文写作 李莉文,孙有中 编 外语教学与研究出版社 PDF 9787513569309 出版时间:2016年01月.pdf
大学思辨英语教程 写作 2 说明文写作 李莉文,孙有中 编 外语教学与研究出版社 PDF 9787513569309 出版时间:2016年01月.pdf ...
-
大学数学微积分 上下 上海交通大学数学系微积分课程组 高等教育出版社 9787040238921 PDF 出版时间:2008年06月.pdf
大学数学微积分 上下 上海交通大学数学系微积分课程组 高等教育出版社 9787040238921 PDF 出版时间:2008年06月.pdf ...
-
敏感的主体 政治本体论的缺席中心 the absent ce (斯洛文)斯拉沃热·齐泽克(Slavoj Zizek)著;应奇等译 南京:江苏人民出版社 PDF 7214041286 2006.pdf
敏感的主体 政治本体论的缺席中心 the absent ce (斯洛文)斯拉沃热·齐泽克(Slavoj Zizek)著;应奇等译 南京:江苏人民出版社 PDF 7214041286 2006.pdf ...