nginx Proxy Cache 配置
总结一下 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 配置的更多相关文章
- nginx proxy cache配置和清理
1.nginx需要编译Purge模块 2.nginx.conf 配置cache: proxy_cache_path /home/cache/xxx levels=1:2 keys_zone=cac ...
- [svc]tomcat目录结构/虚拟主机/nginx反向代理cache配置
tomcat目录文件 /usr/local/tomcat/bin/catalina.sh stop sleep 3 /usr/local/tomcat/bin/catalina.sh start to ...
- nginx做负载均衡器以及proxy缓存配置 - SegmentFault
nginx做负载均衡器以及proxy缓存配置 - SegmentFault nginx做负载均衡器以及proxy缓存配置
- nginx反向代理做cache配置
前序:请耐性子看完,前面的这个配置可以达到按后缀名进行缓存,但无法被purge.后面的配置可以被purge.具体实施方案按个人情况而定. 需要第三方的ngx_cache_purge模块:wget ht ...
- gerrit+nginx+centos安装配置
安装环境 centos 6.8 gerrit-full-2.5.2.war 下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-ful ...
- Nginx安装及配置
Nginx是一款速度快,功能强大的http以及反向代理服务器,经过简单的配置之后即可以用来托管页面. 不幸的是,和很多其他系统管理工具一样,相关的原理教程和配置说明文档都很少.虽然官方提供了一个wik ...
- Nginx的location配置规则梳理
Nginx几乎是当下绝大多数公司在用的web应用服务,熟悉Nginx的配置,对于我们日常的运维工作是至关重要的,下面就Nginx的location配置进行梳理: 1)location匹配的是nginx ...
- 死磕nginx系列--使用nginx做cache服务
配置文件 nginx.conf 主配置文件 worker_processes 1; events { worker_connections 1024; } http { include mime.ty ...
- Nginx的代理配置(六)
一.正向代理 1. 指令说明 (1) resolver 这个用于设置DNS服务器的ip .DNS服务器的主要工作是进行域名解析,将域名映射为对应IP地址. 语法:resolver address .. ...
随机推荐
- bat实现每天定时执行命令[windows底下每天重启一下Nginx]
--试验通过--Windows环境脚本名称:restart.bat脚本内容: @echo offtaskkill /f /fi "IMAGENAME eq nginx.exe"cd ...
- 浏览器显示 req Provisional headers are shown
现象: 原因: 请求被插件什么的拦截导致. 修复: 换浏览器也可以.
- 通过直方图进行PCA准备
import graphviz import mglearn from mpl_toolkits.mplot3d import Axes3D from sklearn.datasets import ...
- 单独使用MyBatis的简单示例
单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...
- iOS实现简单时钟效果
实现的效果图如下 : 实现代码如下: #import "ViewController.h" //将旋转角度转换为弧度制#define angleToRadion(angle) (( ...
- 推荐一款好用的 office word 的markdown插件 - Writage
软件地址:http://www.writage.com/
- Docker快速入门——Docker-Compose
一.Docker-Compose简介 1.Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排.Docker-Com ...
- C# .NET 判断输入的字符串是否只包含数字和英文字母
FROM : https://www.cnblogs.com/ilookbo/p/4828722.html /// <summary> /// 判断输入的字符串是否只包含数字和英文字母 ...
- tomcat 启动闪退解决方法
当我们在windows上面进行项目的部署与启动的时候有的时候tomcat在进行启动的时候会删一下就退了,这个时候一般是里面启动的时候设置的jdk的问题下面咱们来看一下具体解决方案 编辑我们的start ...
- Beta冲刺(4/4)
队名:秃头小队 组长博客 作业博客 组长徐俊杰 过去两天完成的任务:学习了很多东西 Github签入记录 接下来的计划:继续学习 还剩下哪些任务:细节处理 燃尽图 遇到的困难:自己太菜了 收获和疑问: ...