Spring中的aware接口详情
483
2022-11-02
Nginx 清除缓存 第三方ngx_cache_purge模块
Ngixn的缓存失效的时候都是通过proxy_cache_valid定义的多长时间失效,以及上游服务发来的响应一些头部,比如cache-control来定义缓存什么时候失效。这些失效都是和定时器一样基于时间段过期,能不能让缓存立刻失效呢?
ngx_cache_purge第三方模块可以立刻的使得某个资源缓存失效,这个模块是完全可以在生产环境下使用。
ngx_cache_purge模块
添加ngx_cache_purge模块
[root@~]# yum install git-1.8.3.1-21.el7_7.x86_64 -y[root@src]# git clone into 'ngx_cache_purge'...remote: Enumerating objects: 212, done.remote: Total 212 (delta 0), reused 0 (delta 0), pack-reused 212Receiving objects: 100% (212/212), 64.01 KiB | 42.00 KiB/s, done.Resolving deltas: 100% (116/116), done.[root@nginx-1.16.1]# ./configure --prefix=/usr/local/nginx --add-module=../ngx_cache_purge[root@nginx-1.16.1]# make && make install[root@nginx-1.16.1]# make upgrade
配置nginx.conf
proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=nginx_cache:10m max_size=10G inactive=60m use_temp_path=off;#缓存存放的位置是 /data/nginx/cache,目录层级为两层,最多存放10G缓存#缓存key存放的内存空间是 nginx_cache ,单个缓存最大为 10m#自动移除60分钟内没有人访问的缓存#在将缓存放置到 proxy_cache_path 之前,不使用 use_temp_path
配置server
location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) { proxy_set_header Host $host; proxy_pass proxy_redirect $scheme://; add_header X-Cache $upstream_cache_status; proxy_cache nginx-cache;#对应前边的keys_zone=nginx_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 nginx_cache $host$1$is_args$args;}
启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
purge命令清除静态缓存
来清除静态资源缓存。
例如,在浏览器地址栏输入:http://mytest.com/purge/resources/app/css/product.css
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~