美文网首页
清理缓存插件

清理缓存插件

作者: yjwlyy | 来源:发表于2018-04-19 17:37 被阅读0次

通过插件清理缓存需要手动编译模块ngx_cache_purge,编译时添加--add-module=./ngx_cache_purge-x-x

location ~ /purge(/.*) {  
         #设置只允许指定的IP或IP段才可以清除URL缓存。
         allow       127.0.0.1;  
         allow       192.168.10.0/24;  
         deny    all;  
         proxy_cache_purge    cache_one   $host$1$is_args$args;  
 }  

注意,purge规则必须放于下面规则之上,否则就会优先匹配到下面规则,会在清除缓存的时候报404错误。

location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
        proxy_pass http://appserver;
        proxy_redirect off;
        #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
        proxy_cache_key $host$uri$is_args$args;  
        proxy_set_header Host  $host;  
        proxy_set_header X-Forwarded-For  $remote_addr;
        proxy_cache cache_one;
        #对不同的HTTP状态码设置不同的缓存时间
        proxy_cache_valid 200 302 1h;
        proxy_cache_valid 301 1d;
        proxy_cache_valid any 1m;
        expires 30d;
}

设置cache日志的格式,可以在日志中查看“MISS”和“HIT”状态

log_format cache '***$time_local '  '***$upstream_cache_status '  '***Cache-Control: $upstream_http_cache_control ' '***Expires: $upstream_http_expires ' '***"$request" ($status) ' '***"$http_user_agent" ';

相关文章

网友评论

      本文标题:清理缓存插件

      本文链接:https://www.haomeiwen.com/subject/fftgkftx.html