总结一下 proxy cache 设置的常用指令及使用方法:

  • proxy_cache
proxy_cache zone | off

配置一块公用的内存区域的名称,该区域可以存放缓存的索引数据。注意:zone 代表用于存放缓存索引的内存区域的名称(需要使用 proxy_cache_path指令设置);off 代表关闭Proxy Cache功能

  • proxy_cache_path
proxy_cache_path path [levels=levels] keys_zone=name:size [inactive=time1] [max_size=size2] [loader_files=number] [loader_sleep=time2] [loader_threshold=time3];

设置nginx服务器存储缓存数据的路径以及和缓存索引相关的内容

path,设置缓存数据存放的根路径

levels,设置在相对path路径的第几级hash目录中缓存数据。levels=1,表示一级hash目录;levels=1:2,表示两级,依次类推

name:size,设置存放缓存索引的内存区域名称的大小 例如 zone:100m

time1,设置强制更新缓存的时间,如果在time1时间内缓存没有被访问,那么就强制删除磁盘上的缓存

size2,设置硬盘中缓存数据的大小限制,超过该限制的时候根据最少访问原则删除缓存

number,缓存索引重建进程每次加载的数据元素的数量上限

time2,设置缓存索引重建进程在一次遍历结束,下次遍历开始之间的暂停时长

time3,设置遍历一次磁盘索引源数据的时间上限

  • proxy_cache_bypass
proxy_cache_bypass string

配置nginx服务器向客户端发送相应数据时,不从缓存中获取的条件。这些条件支持nginx配置的常用变量。

例如

proxy_cache_bypass $cookie_nocache $arg_nocache $arg_comment $http_pragma $http_authorization

当至少有一个字符串指令不为空或者不等于0时,相应数据不从缓存获取

  • proxy_cache_key
proxy_cache_key string;

用于设置nginx在内存中建立索引时使用的关键字

例如

proxy_cache_key $scheme$proxy_host$uri$is_args$args;
  • proxy_cache_lock
proxy_cache_lock  on|off;

是否开启缓存的锁功能

  • proxy_cache_lock_timeout
proxy_cache_lock_timeout time;

设置缓存的锁功能开启后锁的超时时间

  • proxy_cache_min_uses
proxy_cache_min_uses number;

当客户端向被代理服务器发送相同的请求达到指定的次数时,nginx服务器才会对该请求的响应数据做缓存,默认为1

  • proxy_cache_use_stale
proxy_cache_use_stale error|timeout|invalid_header|updating|http_500|http_502|http_503|http_504|http_404|off ...

当nginx服务器访问被代理服务器时出现服务器无法访问或者访问错误等现象时。nginx服务器可以使用历史缓存响应客户端的请求

  • proxy_cache_valid
proxy_cache_valid [code ...] time;

针对不同的HTTP响应状态设置不同的缓存时间

例如

proxy_cache_valid   10m;
proxy_cache_valid 1h;

以上就是设置 Proxy Cache时常使用的几种指令,但是有时候我们自己进行测试时会发现我们制定的缓存目录并没有生成缓存,只是我们需要确认一下这几个指令是否进行了设置:

proxy_cache_path、proxy_pass、proxy_cache、proxy_cache_valid、proxy_cache_key

例如

http{
proxy_cache_path /home/soft/nginx/data/cache keys_zone=mayuan:100m; server{
.. 省略其他配置 .. location / {
proxy_pass http://127.0.0.1:8080;
proxy_cache mayuan;
proxy_cache_key $scheme$proxy_host$uri$is_args$args;
proxy_cache_valid 24h;
} }
}

nginx Proxy Cache 配置的更多相关文章

  1. nginx proxy cache配置和清理

    1.nginx需要编译Purge模块 2.nginx.conf 配置cache: proxy_cache_path  /home/cache/xxx levels=1:2  keys_zone=cac ...

  2. [svc]tomcat目录结构/虚拟主机/nginx反向代理cache配置

    tomcat目录文件 /usr/local/tomcat/bin/catalina.sh stop sleep 3 /usr/local/tomcat/bin/catalina.sh start to ...

  3. nginx做负载均衡器以及proxy缓存配置 - SegmentFault

    nginx做负载均衡器以及proxy缓存配置 - SegmentFault nginx做负载均衡器以及proxy缓存配置

  4. nginx反向代理做cache配置

    前序:请耐性子看完,前面的这个配置可以达到按后缀名进行缓存,但无法被purge.后面的配置可以被purge.具体实施方案按个人情况而定. 需要第三方的ngx_cache_purge模块:wget ht ...

  5. gerrit+nginx+centos安装配置

    安装环境 centos 6.8 gerrit-full-2.5.2.war 下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-ful ...

  6. Nginx安装及配置

    Nginx是一款速度快,功能强大的http以及反向代理服务器,经过简单的配置之后即可以用来托管页面. 不幸的是,和很多其他系统管理工具一样,相关的原理教程和配置说明文档都很少.虽然官方提供了一个wik ...

  7. Nginx的location配置规则梳理

    Nginx几乎是当下绝大多数公司在用的web应用服务,熟悉Nginx的配置,对于我们日常的运维工作是至关重要的,下面就Nginx的location配置进行梳理: 1)location匹配的是nginx ...

  8. 死磕nginx系列--使用nginx做cache服务

    配置文件 nginx.conf 主配置文件 worker_processes 1; events { worker_connections 1024; } http { include mime.ty ...

  9. Nginx的代理配置(六)

    一.正向代理 1. 指令说明 (1) resolver 这个用于设置DNS服务器的ip .DNS服务器的主要工作是进行域名解析,将域名映射为对应IP地址. 语法:resolver address .. ...

随机推荐

  1. Flutter 页面布局 Stack层叠组件

    Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局 属性 说明 alignment 配置所有子元素的 ...

  2. Sword zlog日志库使用

    配置文件*.conf 配置文件具体内容如下: [global] #改变量可以不写,默认是true,如果使用设置为true时,Zlog就会严格检查所用格式和规则,否则,忽略所用格式和规则. strict ...

  3. WPF ContextMenu DataTemplate MenuItem Visibility 问题

    问题: ContextMenu 的 DataTemplate 中 MenuItem 设置 Visibility 不起作用 需要添加一下样式才可以: <ContextMenu.ItemContai ...

  4. TeslaManage 2.0编译日志

    1>------ 已启动全部重新生成: 项目: TeslaManage, 配置: Debug x64 ------1> Moc'ing teslamanage.h...1> Uic' ...

  5. Java Utils工具类大全

    源码和jar见:https://github.com/evil0ps/utils #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起 ...

  6. 转 Zabbix 3.2.6通过SNMP和iDRAC监控DELL服务器

    https://www.cnblogs.com/saneri/p/7772641.html

  7. HTML布局排版2 div的和图片平铺方便管理

    在HTML里,由于浏览器显示器等差异,浏览器的宽度也会有变化,为了适应不同的宽度,需要用到平铺.例如页面前面的固定的条等,如果是纯色,可以用背景色,如果不是纯色,是渐变等,可以用条状图平铺.常见的布局 ...

  8. bootstrap模态框怎么传递参数

    bootstrap参数传递可以用 data-参数名 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&qu ...

  9. Python3之调试

    程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误 ...

  10. 【ARM-LInux开发】利用scp 远程上传下载文件/文件夹

    利用scp 远程上传下载文件/文件夹 scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o s ...