总结一下 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. leetcode 139. Word Break 、140. Word Break II

    139. Word Break 字符串能否通过划分成词典中的一个或多个单词. 使用动态规划,dp[i]表示当前以第i个位置(在字符串中实际上是i-1)结尾的字符串能否划分成词典中的单词. j表示的是以 ...

  2. Python3入门(十三)——常用内置模块之时间日期模块datatime

    1.日期时间模块——datatime //其他模块例如time.calender等模块暂不展开 (1)获取当前时间:datatime.now(): from datetime import datet ...

  3. 【PHP】php7.2报错The each() function is deprecated. This message will be suppressed on furthe

    php7.2以上 废除了 each()方法,项目中用到的地方会出现以下报错 The each() function is deprecated. This message will be suppre ...

  4. 转 linux下ClamAV使用

    linux下ClamAV使用 第一步:Clamav下载http://www.clamav.net/downloads#yuminstall wget –y第二步:创建clamav用户和组groupad ...

  5. vmware安装gho系统(win10上安装虚拟机然后在vmware上安装win7)

    用ghost直接将gho转成vmdk将ghost32, gho文件放到同一目录, cmd里进入对应目录,输入以下命令ghost32 -clone,mode=restore,src=example.gh ...

  6. ThreadLocal Memory Leak in Java web application - Tomcat

    ThreadLocal variables are infamous for creating memory leaks. A memory leak in Java is amount of mem ...

  7. java使用Sonic 算法对音频变速不变声、变调、调整音量

    依赖库:https://github.com/waywardgeek/sonic 基础库:Sonic.java /* Sonic library Copyright 2010, 2011 Bill C ...

  8. Python - Django - request 对象

    request.method: 获取请求的方法,例如 GET.POST 等 views.py: from django.shortcuts import render, HttpResponse # ...

  9. Java使用Jsoup获得新闻联播所有文字稿

    Jsoup的maven坐标: <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> <dependency> ...

  10. js 验证手机号

    <script> var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/; function ver ...