是 nginx 模块,此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存。
配置指令(相同位置语法)
fastcgi_cache_purge syntax: fastcgi_cache_purge on|off|<method> [from all|<ip> [.. <ip>]] default: none context: http, server, location
允许从代理缓存中清除所选页面。
配置nginx.conf文件
在已经配置好的server外加入以下内容:
#cache begin proxy_buffering on; proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=my-cache:150m max_size=300m inactive=1d; proxy_temp_path /usr/local/nginx/nginx_temp; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; #cache end
重要参数说明:proxy_cache_path/usr/local/nginx/cache缓存的文件目录,
levels=1:2表示缓存文件两级目录,1表示第一级目录名为1位数,2表示第二级目录名为2位数
keys_zone=my-cache:150m max_size=300m inactive=1d缓存区域名字,分配150m空间,最大缓存300m,有效期1天
在已经配置好的server内加入以下内容:
location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) { proxy_set_header Host $host; proxy_pass http://101.118.11.20:9090; proxy_redirect http:// $scheme://; add_header X-Cache $upstream_cache_status; proxy_cache my-cache;#对应前边的keys_zone=my-cache proxy_cache_valid 200 12h; proxy_cache_valid 301 302 1m; proxy_cache_key $host$uri$is_args$args; } location ~ /purge(/.*) { allow all;#指定可以清除缓存的ip,all允许所有ip清除 proxy_cache_purge my-cache $host$1$is_args$args; }
6、启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
7、purge命令清除静态缓存
http://域名+purge+静态资源相对路径 来清除静态资源缓存 例如,在浏览器地址栏输入 http://www.baidu.com/purge/resources/app/css/product.css
即可清除在nginx服务器缓存的静态文件