一、缓存说明
nginx缓存,nginx 提供了一个强大的反向代理和 http 服务器功能,同时也是一个高效的缓存服务器。一般情况下系统用到的缓存有以下三种:
1、服务端缓存:缓存存在后端服务器,如 redis。
2、代理缓存:缓存存储在代理服务器或中间件,内容从后端服务器获取,保存在本地。如nginx
3、客户端缓存:缓存在浏览器 ,不需要从服务器获取最新的,浏览器就会直接使用本地缓存。
二、环境配置
配置 nginx 缓存的基本步骤:
-
安装 nginx 和必要的缓存模块(通常默认安装)。
-
编辑 nginx 配置文件(通常位于
/etc/nginx/nginx.conf
)。 -
在
http
、server
或location
块中配置缓存参数
三、场景说明
场景一:控制上游服务器节点缓存
nginx通过proxy_cache来实现缓存,而proxy_cache只有在proxy buffer机制开启的情况下proxy cache的配置才会发挥作用。
proxy_cache_path /usr/local/cache #缓存地址 levels=1:2 #目录分级 keys_zone=test_cache:10m #开启的keys空间名字:空间大小(1m可以存放8000个key) max_size=10g #目录最大大小(超过时,不常用的将被删除) inactive=60m #60分钟内没有被访问的缓存将清理 use_temp_path=off; #是否开启存放临时文件目录,关闭默认存储在缓存地址 server { #使用缓存 location / { proxy_cache test_cache; #开启缓存对应的名称,在keys_zone命名好 proxy_cache_valid 200 304 12h; #状态码为200 304的缓存12小时 proxy_cache_valid any 10m; #其他状态缓存10分钟 proxy_cache_key $host$uri$is_args$args; #设置key值 add_header nginx-cache "$upstream_cache_status"; } |
场景二:控制浏览器缓存expires配置,expires 命令控制一下浏览器的缓存,主要是针对一些静态资源。
location ~ .*.(jpg|jpeg|gif|png)$ { # 匹配静态目录 |
发表评论