Nginx反向代理 缓存服务器的配置详解 图解,配置详解

 上一个实验的地址,此实验继承下面地址的环境

Nginx反向代理服务器简单配置案例-CSDN博客


 

proxy_cache_path命令中的参数及对应配置说明

levels

levels在/app/test/cache/设置了一个两级层次结构的目录。
将大量的文件放置在单个目录中会导致文件访问缓慢,所以针对大多数部署,我们推荐使用两级目录层次结构。
如果levels参数没有配置,则NGINX会将所有的文件放到同一个目录中。

keys_zone

keys_zone设置一个共享内存区,该内存区用于存储缓存键和元数据,有些类似计时器的用途。将键的拷贝放入内存可以使NGINX在不检索磁盘的情况下快速决定一个请求是`HIT`还是`MISS`,这样大大提高了检索速度。一个1MB的内存空间可以存储大约8000个key,那么上面配置的10MB内存空间可以存储差不多80000个key。

max_size

max_size设置了缓存的上限(在上面的例子中是10G)。这是一个可选项;如果不指定具体值,那就是允许缓存不断增长,占用所有可用的磁盘空间。当缓存达到这个上线,处理器便调用cache manager来移除最近最少被使用的文件,这样把缓存的空间降低至这个限制之下。

inactive

inactive指定了项目在不被访问的情况下能够在内存中保持的时间。在上面的例子中,如果一个文件在60分钟之内没有被请求,则缓存管理将会自动将其在内存中删除,不管该文件是否过期。该参数默认值为10分钟(10m)。注意,非活动内容有别于过期内容。NGINX不会自动删除由缓存控制头部指定的过期内容(本例中Cache-Control:max-age=120)。过期内容只有在inactive指定时间内没有被访问的情况下才会被删除。如果过期内容被访问了,那么NGINX就会将其从原服务器上刷新,并更新对应的inactive计时器。

use_temp_path=off

NGINX最初会将注定写入缓存的文件先放入一个临时存储区域, use_temp_path=off命令指示NGINX将在缓存这些文件时将它们写入同一个目录下。我们强烈建议你将参数设置为off来避免在文件系统中不必要的数据拷贝。use_temp_path在NGINX1.7版本和NGINX Plus R6中有所介绍。

proxy_cache

proxy_cache指令用于开启或关闭反向代理缓存。

proxy_cache_valid 200 304 12h;

指定了哪些HTTP响应状态码是有效的缓存对象。在这里,200和304状态码的响应被缓存12小时

proxy_cache_valid any 10m;

指定了其他所有HTTP响应状态码的缓存有效期为10分钟

proxy_cache_key $host$uri$is_args$args;

定义了如何生成缓存的键。Nginx使用这个键来查找和存储缓存。这里使用主机名、URI、参数和查询参数来生成缓存键。

add_header Nginx-Cache "$upstream_cache_status";

这一行添加了一个响应头,名为Nginx-Cache,其值为反向代理的缓存状态。例如,如果缓存未命中,该头的值可能是MISS;如果缓存命中,该头的值可能是HIT。

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

这一行定义了当与上游服务器通信失败时,Nginx应尝试与哪个上游服务器通信。这里列出了多个错误和状态码,表示在这些情况下,Nginx会尝试与下一个上游服务器通信。例如,如果遇到error、timeout、invalid_header或上游服务器返回特定5xx错误码时,Nginx会尝试与下一个上游服务器通信。

总结

总的来说,这段配置用于设置Nginx作为反向代理服务器,并启用缓存功能。当客户端请求资源时,Nginx会尝试从缓存中获取资源,如果缓存未命中,Nginx会与上游服务器通信获取资源并存储在缓存中,以便后续请求可以更快地得到响应。

  • 27
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值