Nginx設置proxy_cache緩存

Nginx原先是沒有proxy_cache功能的,貌似從0.8.x版本以後就加入了這個類似Squid緩存的功能,Proxy_cache是吧URL當作Key,用md5編碼哈希後保存在磁盤上,支持任意的URL,也支持非200狀態碼,如404/302等。這個功能已經可以取代Squid,特別是性能上,Nginx對多核CPU的利用就比Squid強很多。
在nginx.conf裏的http塊加入以下代碼
#proxy_temp_path和proxy_cache_path指定的路徑必須在同一分區
proxy_temp_path /tmp/proxy_temp_dir;
#設置名稱爲nginx_cache,內存緩存空間大小爲500MB,30天沒有被訪問的內容自動清除,硬盤緩存空間大小爲30GB。
proxy_cache_path /tmp/proxy_cache_dir levels=1:2 keys_zone=nginx_cache:200m inactive=3d max_size=30g;
在server加入以下代碼

location / {
proxy_cache nginx_cache;
proxy_cache_key $host$uri$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
expires 30d;
}
重啓Ngnix
/usr/local/nginx/sbin/nginx -s reload
OK,隨便運行幾個網頁,然後到 /tmp/proxy_temp_dir Or /tmp/prox_cache_dir下看看有沒有產生緩存文件?如果產生一些目錄,恭喜配置成功。
以上之說到把內容緩存給,但沒有說到清空緩存,目前清空還只能藉助第三方插件然後手動清除,當然也可以寫計劃任務,幹感覺不太方便,這裏就不細說了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章