Nginx 缓存配置

文章介绍了如何通过Nginx配置缓存来优化网站性能,特别是对于不经常变动的静态资源如图片和接口数据。设置了缓存key的生成方法,当达到最大空间时,新缓存会自动覆盖旧的。在nginx配置中,详细说明了proxy_cache_path的设置,以及proxy_cache的各种参数,如proxy_cache_key、proxy_cache_valid等,以控制缓存策略。
摘要由CSDN通过智能技术生成

场景:网站图片,静态资源,接口等,不经常变动的数据,每次都请求服务器上游服务器。增加缓存,减少上游服务器压力。

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 /{

      # 代理  http://edo.xxx.com
      proxy_pass http://edo.xxx.com;
 }

 配置案例:

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;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值