总结一下 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. git-scm教程摘要

    Git 有三种状态 已提交(committed).已修改(modified)和已暂存(staged) 已提交表示数据已经安全的保存在本地数据库中. 已修改表示修改了文件,但还没保存到数据库中. 已暂存 ...

  2. System.Net.WebRequestMethods.cs

    ylbtech-System.Net.WebRequestMethods.cs 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutr ...

  3. npm WARN deprecated fsevents windows

    更新下 使用yarn貌似会帮助跳过这个问题: info fsevents@2.1.2: The platform "win32" is incompatible with this ...

  4. Linux命令 – ln 软连接与硬链接区别介绍

    ln命令可以生成软链接和硬链接,也可叫做符号链接和实体链接. 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可: 不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实际情况可能会多占用 ...

  5. ISO/IEC 9899:2011 条款6.7——声明

    6.7 声明 语法 1.declaration: declaration-specifiers    init-declarator-listopt    ; static_assert-declar ...

  6. python-learning-第二季-数据库编程

    https://www.bjsxt.com/down/8468.html 代码实现: #coding:utf- #导入模块 import sqlite3 #创建connect连接 con = sqli ...

  7. MFC加载osg模型

    创建MFC单文档项目, OSGObject.h #pragma once #include <osgViewer\Viewer> #include <osgDB\ReadFile&g ...

  8. C++的override和final

    1.final用于让虚函数不可被重写 struct B2 { virtual void f() final {} // final 函数 }; struct D2 : B2 { virtual voi ...

  9. Linux记录-limits.conf 配置

    limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会 ...

  10. Android webview 写入cookie的解决方法以及一些属性设置

    原文地址:https://www.2cto.com/kf/201703/616868.html Android webview 写入cookie的解决方法以及一些属性设置,webview怎么设置写入C ...