Interesting things
我上傳一張圖片,返回的信息如下:
2
group:group1
path:M00/00/00/wKgMLFpLO-GAR41SAAd8hCbLY3Y765.jpg
我能正確的訪問到圖片
然而我刪除了圖片
當我再次訪問該圖片時,還能成功訪問。
我遇到的問題就是這樣子的,訪問前我已經清除了瀏覽器的緩存。排除了瀏覽器緩存的問題,現在我繼續排查問題。
What did you do today
然後我覺得是nginx cache的原因
進入/fastdfs/cache/nginx/proxy_cache/目錄下,我們可以看到緩存文件。
用記事本打開文件,我們可以看到proxy_cache_key
那proxy_cache_key爲什麼是這樣子組成呢?我們可以打開tracker1(192.168.12.11)下的nginx.conf查看。
我們設置的proxy_cache_key,以URI,參數組合成web緩存的key,Nginx根據key值hash,存儲緩存內容於二級緩存目錄中。也就是上文的/fastdfs/cache/nginx/proxy_cache/d/90
proxy_cache_key is_args$args;
我們怎麼清除nginx的緩存裏,我們可以查看nginx.conf裏面的配置。
也就是說我們通過訪問/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,顯示我們成功的清除緩存了!
美滋滋,我們繼續訪問之前的圖片urlhttp://192.168.12.111/fastdfs/group1/M00/00/00/wKgMLFpLO-GAR41SAAd8hCbLY3Y765.jpg,發現此時已經訪問不到了!
Summary
根據項目需求,暫時用不上8臺。我目前採用的方案是虛擬機+keepalived+nginx,也可以採用lvs+keepalived+nginx方案。所以我優化後的拓撲圖附上。