在服务器架构中,反向代理服务器除了能够起到反向代理的作用之外,还可以缓存一些资源,加速客户端访问,nginx的ngx_http_proxy_module模块不仅包含了反向代理的功能还包含了缓存功能。
1、定义代理缓存规则
参数详解:
proxy_cache_path 表示代理缓存区域
/etc/nginx/cache/gyq 表示缓存区的路径,即用于缓存的本地目录
levels 表示等级的意思,此处表示目录的层级。注意:将大量文件放置在单个目录中会导致文件访问缓慢,所以建议使用两级目录层次结构。若没有配置levels参数,nginx默认将所有文件放到同一个目录中。
keys_zone 表示一个共享区域,用于缓存键值。键值是资源的标签,不同资源对应不同的键值,每个键值都具有唯一性。
服务器通过键值查询客户端请求的资源。若查询不到对应的资源,就向web服务器进行请求,将请求到的资源通过散列算法生成键值并存储到kesy_zone。将键值存储到keys_zone可以使Nginx再不查询磁盘的情况下,快速判断一个请求的资源是否在缓存中,大大提高查询速度。1MB大小的内存空间可以存储大约8000个键值。
pproxy_cache 表示keys_zone的名称,为方便调用,允许用户进行自定义。10M表示keys_zone空间大小。
max_size 表示缓存资源大小的上限,如果用户不指定具体值,则表示允许缓存资源量不断增长,可占用所有可用磁盘的空间。配置具体值后,当缓存达到上限时,处理器便调用cache manager来移除最近最少被使用的文件,将缓存资源所占用的空间降低至小于上限值的范围。
inactive 是不