场景:网站图片,静态资源,接口等,不经常变动的数据,每次都请求服务器上游服务器。增加缓存,减少上游服务器压力。
1、缓存key 值,吧 url md5加密变成key值进行缓存
2、缓存到达最大空间,会自动使用新缓存覆盖缓存时间即将过时的缓存
nginx配置流程:
1、在 nginx . http 下设置缓存目录
proxy_cache_path D:/project/web2/proxy_cache levels=2:2:2 keys_zone=song:200m inactive=20m max_size=20g;
proxy_cache_path 设置缓存文件的存放路径 levels 指定该缓存空间对应的目录2:2:2 表示 3层目录,由命名的字母组成 keys_zone:_name_:_size_ 设置缓存区的名称与大小 inactive 指定多久不访问则删除缓存 1d = 1天 20m = 20分钟 max_size 最大缓存空间
2、在 nginx . http . server 或 nginx . http . server . location下设置
# 缓存配置
proxy_cache song;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_min_uses 1;
proxy_cache_methods HEAD GET POST;
proxy_cache_valid 200 1d;
# 加一个头,方便在header中观察是否命中缓存
add_header Nginx-Cache "$upstream_cache_status";
proxy_cache 默认值:proxy_cache off; proxy_cache_key 缓存的key值,组成方式 http + uri+参数 (md5) proxy_cache_valid 返回不同的状态码,设置缓存的时间不同;上面为 状态码 = 200 则缓存 1天;
如:proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
为200和302的响应URL设置10分钟缓存,为404的响应URL设置1分钟缓存
proxy_cache_valid any 1m;
对所有响应状态码的URL都设置1分钟缓存proxy_cache_methods 用来设置缓存哪些HTTP方法 proxy_cache_min_uses 资源被访问多少次后进行缓存
3、代理
location /{文章来源:https://www.toymoban.com/news/detail-594628.html
# 代理 http://edo.xxx.com
proxy_pass http://edo.xxx.com;
}文章来源地址https://www.toymoban.com/news/detail-594628.html
配置案例:
proxy_cache_path D:/project/web2/proxy_cache levels=2:2:2 keys_zone=song:200m inactive=20m max_size=20g;
server {
listen 80;
server_name edo.pic.com;
# 缓存配置
proxy_cache song;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_min_uses 1;
proxy_cache_methods HEAD GET POST;
proxy_cache_valid 200 1d;
# 加一个头,方便在header中观察是否命中缓存
add_header Nginx-Cache "$upstream_cache_status";
location / {
proxy_pass http://edo.xxx.com;
}
}
到了这里,关于Nginx 缓存配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!