继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

关于FastDFS蛋疼的集群和负载均衡(十一)之清除Nginx文件缓存

cmazxiaoma
关注TA
已关注
手记 27
粉丝 42
获赞 164

diary_report.jpg

Interesting things

我上传一张图片,返回的信息如下:

2
group:group1
path:M00/00/00/wKgMLFpLO-GAR41SAAd8hCbLY3Y765.jpg

我能正确的访问到图片
image.png

然而我删除了图片
image.png

image.png

当我再次访问该图片时,还能成功访问。
image.png

我遇到的问题就是这样子的,访问前我已经清除了浏览器的缓存。排除了浏览器缓存的问题,现在我继续排查问题。

What did you do today

然后我觉得是nginx cache的原因

  • 进入/fastdfs/cache/nginx/proxy_cache/目录下,我们可以看到缓存文件。
    image.png

  • 用记事本打开文件,我们可以看到proxy_cache_key
    image.png

  • 那proxy_cache_key为什么是这样子组成呢?我们可以打开tracker1(192.168.12.11)下的nginx.conf查看。
    image.png

  • 我们设置的proxy_cache_key,以URI,参数组合成web缓存的key,Nginx根据key值hash,存储缓存内容于二级缓存目录中。也就是上文的/fastdfs/cache/nginx/proxy_cache/d/90

proxy_cache_key $uri$is_args$args;

  • 我们怎么清除nginx的缓存里,我们可以查看nginx.conf里面的配置。
    image.png

  • 也就是说我们通过访问/purge/proxy_cache_key就能清除缓存。

        location ~/purge(/.*) {
                allow 127.0.0.1;
                allow 192.168.12.0/24;
                deny all;
                proxy_cache_purge http-cache $1$is_args$args;
                error_page 405 =200 /purge$1;
        }
  • 那我们访问http://192.168.12.111/fastdfs/purge/group1/M00/00/00/wKgMLFpLO-GAR41SAAd8hCbLY3Y765.jpg,显示我们成功的清除缓存了!
    image.png

  • 美滋滋,我们继续访问之前的图片urlhttp://192.168.12.111/fastdfs/group1/M00/00/00/wKgMLFpLO-GAR41SAAd8hCbLY3Y765.jpg,发现此时已经访问不到了!
    image.png

Summary

根据项目需求,暂时用不上8台。我目前采用的方案是虚拟机+keepalived+nginx,也可以采用lvs+keepalived+nginx方案。所以我优化后的拓扑图附上。
image.png

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP

热门评论

你的这个缓存目录是在哪里哦, 没有见到。 可以告知下吗?

查看全部评论