浅谈Nginx代理缓存配置

2020年12月15日17:46:49 发表评论 2,929
摘要

本文将介绍Nginx代理缓存的几种配置方式,其中包括proxy_buffering和proxy_cache_path两种配置,优化Nginx服务器代理性能。

浅谈Nginx代理缓存配置

0x01 前言

nginx最常见的应用场景就是作为反向代理服务器使用,那必然要使用代理功能,为了提高性能,代理缓存也是必不可少的一项配置。实践发现,Nginx的限速也是基于缓存的。

0x02 代理缓存之proxy_buffering

proxy_buffering可以是on也可以是off,当开启时,代理服务器将启用缓存功能,包括硬盘缓存和内存缓存,当buffer满时将会使用磁盘作为缓存,和其配套使用的参数介绍如下:

这里其实没有什么好说得,但是有一个点要注意,代理产生的临时文件不会自删除,如果这里将代理作为下载服务,那可能产生大量的临时文件,最终导致磁盘写满。

0x03 作为下载服务器的代理机时

接上面的问题,如果要将Nginx作为下载服务的代理机器时怎么操作,这里有两个选项:

  • 不使用代理(万事大吉)
  • 搭配proxy_cache_path使用

不需要使用一些依赖缓存的功能时完全可以不适用代理缓存功能,proxy_buffering设置为off即可,但是如果想使用一些高级功能,比如下载限时速,是依赖proxy_buffering的,这里就要采用第二种方案,proxy_buffering搭配proxy_cache_path一期使用。

0x04 代理缓存之proxy_cache_path

proxy_cache_path会对访问过的内容在本地建立副本,当再次访问时不必请求源服务器就可以返回数据,同时支持本地副本的过过期时间配置

proxy_cache_path需要在http模块配置,下面是一个例子:

下面是参数介绍

使用keys_zone是在server块内部,比如

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: