首先,需要在nginx配置文件中指定缓存路径和缓存大小。在http块内添加如下配置:
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
上述配置中,/path/to/cache是缓存路径,levels=1:2指定了两级目录结构来存储缓存文件,keys_zone=my_cache:10m定义了一个名为my_cache的共享内存区域,最大容量为10m,max_size=10g指定了缓存的最大容量为10GB,inactive=60m表示缓存文件在60分钟内没有被访问时将被认为是inactive状态,可以被清理。
接下来,在需要进行缓存的upstream服务器(如后端的应用服务器)的location块内添加如下配置:

proxy_cache my_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m;
上述配置中,proxy_cache my_cache指定了使用之前定义的名为my_cache的缓存空间,proxy_cache_valid用于指定不同类型的响应的缓存有效时间,比如200和302类型的响应缓存10分钟,404类型的响应缓存1分钟。
最后,在proxy_pass指令中添加proxy_cache_use_stale指令,以在后端服务器出现故障时仍然提供缓存内容:
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
通过以上配置,就可以实现nginx反向代理缓存的基本设置。当用户请求的内容被缓存后,nginx会直接返回缓存内容,减轻了后端服务器的压力,提高了网站的访问速度和稳定性。希望本文对你有所帮助!