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

Summary

根據項目需求,暫時用不上8臺。我目前採用的方案是虛擬機+keepalived+nginx,也可以採用lvs+keepalived+nginx方案。所以我優化後的拓撲圖附上。
image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章