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 200 302 10m;
proxy_cache_valid  301 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  200 304 302 24h;
        }

    }
} 

原文地址:https://www.cnblogs.com/itsuibi/p/11373671.html

时间: 2024-10-09 04:18:59

nginx Proxy Cache 配置的相关文章

nginx Proxy 配置

1.代理模块 ngx_http_proxy_module 2.代理配置 代理Syntax: proxy_pass URL; #代理的后端服务器URLDefault: —Context: location, if in location, limit_except 头信息Syntax: proxy_set_header field value;Default: proxy_set_header Host $proxy_host; #设置真实客户端地址 proxy_set_header Connec

高性能 nginx HTTP服务器 配置实例

分享下nginx http服务器的配置方法. 第一篇:HTTP服务器 因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf) 提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级, 配置更加简单,而且nginx不仅仅是高性能的HTTP服务器,还是高性能的反向代理服务器. 目前很多大型网站都使用了nginx,新浪.网易.QQ等都使用了nginx,说明nginx的稳定性和性能还是非常不错的.

利用Proxy Cache使Nginx对静态资源进行缓存

前言 Nginx是高性能的HTTP服务器,通过Proxy Cache可以使其对静态资源进行缓存.其原理就是把静态资源按照一定的规则存在本地硬盘,并且会在内存中缓存常用的资源,从而加快静态资源的响应. 配置Proxy Cache 以下为nginx配置片段: proxy_temp_path   /usr/local/nginx/proxy_temp_dir 1 2; #keys_zone=cache1:100m 表示这个zone名称为cache1,分配的内存大小为100MB #/usr/local/

nginx+rewrite+proxy+cache基本实验

今天分享下nginx+rewrite+proxy+cachenginx于apache的区别 1.nginx基于ip做限制小实验: worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_n

终于成功配置 nginx + proxy

今天晚上折腾两个小时,终于成功配置 nginx + proxy 支持以下访问地址,使用的是同一个Flask APP. https://search.readmorejoy.com/ https://markdown.readmorejoy.com/ 初次的学习总是比较折磨人. 单独出 markdown,是因为还要出一个 PC版本 原文地址:https://www.cnblogs.com/pycoding/p/11360979.html

Nginx反代配置

一.ngx_http_proxy_module模块     ngx_http_proxy_module模块可根据用户请求的uri传递至后端服务器,实现反向代理 命令: 1.proxy_pass 设置一个代理服务器的地址,协议,和一个可选的URI的位置应该映射.作为一个协议,"HTTP"或"https"可以指定.地址可以被指定为一个域名或IP地址,和一个可选的端口 语法:proxy_pass URL; 可用的上下文:location, if in location,

Nginx性能优化配置(三)

Nginx性能优化配置(三)  本文主要介绍Nginx的性能优化配置,文章的层次架构如图所示. 1.Nginx的工作进程优化 1.worker_processes 作用:worker进程的数量:通常应该等于小于当前主机的cpu的物理核心数:auto表示根据CPU的物理核心数自动调整工作进程数.使用lscpu或或者cat /proc/cpuinfo | grep 'processor' | wc -l 可以查看CPU的物理核心数. 配置:worker_processes auto: 配置段:mai

nginx的安装配置详解

title: nginx的安装配置详解tags: nginx,虚拟服务器,curl nginx的安装配置详解 1. 介绍各个常用的服务端口 21 ftp :22 ssh:25 smtp:3306 mysql:873 rsync:3389 远程桌面:161 snmp:111 rpcbind:80 www http:443 https:110 pop3:53 dns:514 rsyslog 我们常用的nslookup和dig查询域名解析工具的安装包为bind-utils,如yum install b

Nginx使用及配置

最近在学习使用nginx,看到这篇文章不错,就记录下来~ 一.nginx是什么? nginx是俄罗斯人 Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的一个十分轻量级的HTTP服务器.它是一个高性能的HTTP和反向代理服务器,同时也可以作为IMAP/POP3/SMTP的代理服务器.nginx使用的是BSD许可. Nginx 以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡. Nginx 因为它的稳定性.丰富的模块库.灵活的配置和低系统资源