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

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_cachehttps://img.wentong.org/?/d/90

proxy_cache_key uri" role="presentation" style="position: relative;">uriis_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-GAR41SAAd8hCbLY3Y…,发现此时已经访问不到了!
    image.png


Summary

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

文章来源: FastDFS蛋疼的集群和负载均衡(十一)之清除Nginx文件缓存

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:FastDFS蛋疼的集群和负载均衡(十一)之清除Nginx文件缓存