nginx设置缓存proxy_cache

参考nginx proxy_cache 缓存配置_dengjiexian123的专栏-CSDN博客_nginx proxy_cache

将一些服务端的一些静态资源缓存在nginx,客户端请求直接获取nginx中的静态资源,不用去服务端获取。

在http模块设置,path是缓存文件路径,keys_zone=tmp-test:10m ,tmo-test相当于缓存名字,在哪个路由规则中要使用缓存就配置上,10m应该是内存缓存大小,inactive对应有效期7天,max_size应该是缓存在磁盘上的最大占用空间。

http {
proxy_cache_path X:/Geek/nginx-1.18.0/tmp-test levels=1:2 keys_zone=tmp-test:100m inactive=7d max_size=5g;
}

 具体参数解释官网都有解释,Module ngx_http_proxy_module

 在location中使用缓存,proxy_cache对应上面缓存名字,valid是缓存有效期,也可以分开设置多个,对不同http响应状态码设置有效期。proxy_cache_key是缓存的key值根据什么生成,因为获取缓存时要根据key去获取。

		location /root_old/ {
			proxy_pass http://ip:port;
			proxy_cache tmp-test;
			proxy_cache_valid  200 206 304 301 302 10d;
            proxy_cache_valid  404 1d;
		    proxy_cache_key $uri;
		}

设置完后,重启nginx,会自动生成tmp-test文件,访问对应location,就会生成缓存文件 

缓存文件中能看到缓存key,和文件信息,比如js文件,就能把js的全部内容缓存下来

 

要在nginx留一个删除缓存入口,需要安装purge模块。

location /tmp-test/ {
                allow 127.0.0.1; //只允许本机访问
                deny all; //禁止其他所有ip
                proxy_cache_purge tmp-test $uri;  //清理缓存
        }

 访问 /tmp-test/缓存key,key写在上面文件中,如果key有问题提示404,如果删除成功,浏览器页面会返回删除成功。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值