Nginx作业3
题目3:配置Nginx对静态文件进行缓存
要求:
配置Nginx对静态文件(如jpg、jpeg、png、gif、ico、css、js)进行缓存,缓存路径为/data/cache
,缓存有效期为1天。同时,配置浏览器缓存选项,包括Last-Modified
和ETag
头部信息。
参考文章:https://zhuanlan.zhihu.com/p/664122247
解析:
要点
1.静态文件(如jpg、jpeg、png、gif、ico、css、js)进行缓存,写法:location ~ .*\.(jpg|jpeg|png|gif|ico|css|js),其中~表示的是区分大小写的正则匹配,.*表示匹配任意字符,\.中\是转义字符,转义后面的.为其本意,因此整个写法匹配的就是以.(jpg|jpeg|png|gif|ico|css|js)为后缀的请求。
2.缓存路径为/data/cache
:利用proxy_cache_path /data/cache 配置
3.缓存有效期为1天:利用proxy_cache_valid any 24h 来配置。 /* 注意:如果要配置特定状态码的有效时间就将any替换为特定状态码就行
4.配置浏览器缓存选项,包括Last-Modified
和ETag
头部信息:利用 etag on 来配置。
实操:
缓存代理服务器:192.168.80.201
后端服务器:192.168.80.202
nginx配置
缓存代理服务器conf配置:
后端服务器服务conf配置:
后端服务器服务文件夹架构:
效果:
1.测试缓存第一次miss,第二次hit:
2.检验etag是否开启
未开启etag时:
开启etag后:
注意多了if-modified-since和if-none-match标识