nginx代理缓存

        在服务器架构中,反向代理服务器除了能够起到反向代理的作用之外,还可以缓存一些资源,加速客户端访问,nginx的ngx_http_proxy_module模块不仅包含了反向代理的功能还包含了缓存功能。

1、定义代理缓存规则

参数详解:

 proxy_cache_path 表示代理缓存区域

/etc/nginx/cache/gyq 表示缓存区的路径,即用于缓存的本地目录

levels 表示等级的意思,此处表示目录的层级。注意:将大量文件放置在单个目录中会导致文件访问缓慢,所以建议使用两级目录层次结构。若没有配置levels参数,nginx默认将所有文件放到同一个目录中。

keys_zone 表示一个共享区域,用于缓存键值。键值是资源的标签,不同资源对应不同的键值,每个键值都具有唯一性。

        服务器通过键值查询客户端请求的资源。若查询不到对应的资源,就向web服务器进行请求,将请求到的资源通过散列算法生成键值并存储到kesy_zone。将键值存储到keys_zone可以使Nginx再不查询磁盘的情况下,快速判断一个请求的资源是否在缓存中,大大提高查询速度。1MB大小的内存空间可以存储大约8000个键值。

pproxy_cache 表示keys_zone的名称,为方便调用,允许用户进行自定义。10M表示keys_zone空间大小。

max_size 表示缓存资源大小的上限,如果用户不指定具体值,则表示允许缓存资源量不断增长,可占用所有可用磁盘的空间。配置具体值后,当缓存达到上限时,处理器便调用cache manager来移除最近最少被使用的文件,将缓存资源所占用的空间降低至小于上限值的范围。

inactive 是不活跃的意思,此处表示缓存存在的时间。如果一项资源在60分钟内没有被客户端请求,无论该资源是否过期,缓存管理都会在缓存空间中删除。若inactive没有被配置,,则该默认值为10分钟。nginx不会自动删除由缓存控制头部指定的过期资源,过期资源只有在inactive指定时间内没有被访问的情况下才会被Nginx删除。如果过期资源访问了,那么nginx将从源服务器上重新获取资源,并更新对应的inactive值。

user_temp_path 表示用户缓存路径。当资源被写入缓存空间之前,需要将资源先写入用户缓存路径,再复制到缓存空间,如此就增加了复制次数浪费了服务器资源,通常建议关闭。

2、引用

参数详解:

        proxy_cache proxy_cache 表示调用名称为“proxy_cache”的缓存规则。
        proxy_cache_valid 200 304 12h; 表示用户的访问的访问状态为200或者304时,缓存对应的资源,缓存时间为12小时。
        proxy_cache_valid any 10m; 表示用户访问的状态码不是200,也不是304时将对应资源进行缓存,,缓存时间为10分钟。
        proxy_cache_key $host$uri$is_args$args; 表示根据客户端请求资源的地址、路径、参数、参数值,通过散列值算法生成键值。
        add_header Nginx-Cache "$upstream_cache_status"; 表示在nginx请求头部中添加web服务器的缓存状态信息。
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; 表示如果出现500、502、503或者504的访问结果,就换下一个web服务器进行访问。

3、访问缓存

首次访问:MISS表示未命中缓存

第二次访问之后:HIT表示命中缓存

各种代理返回值:

注意:只有当网站被成功访问时,响应头部才会响应代理缓存的返回值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47147.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PX4 1.14 Ubuntu22.04 ROS2 Humble 虚拟机镜像 下载

仿真测试视频: px4 ubuntu22.04 test 下载地址(付费内容,不能接受请勿下载): 链接:https://pan.baidu.com/s/1YTK4AQj7MRBo3-xX2s_76Q?pwdrmsg 提取码:rmsg

vue2使用g6,G6

1安装 cnpm install --save antv/g63.4.82、代码&#xff0c;简单使用 <template><div>3333<div id"mountNode"></div></div> </template> <script> import G6 from antv/g6 export default {data() {return {}},comput…

减分虎-交管12123学习题目及答案

学法减分是对驾驶证已经存在的记分进行减免&#xff0c;并不是给驾驶证进行加分&#xff0c;不是代替违章扣分。学法免费获取的分值正是对扣分记录的清除。比如违章被扣6分&#xff0c;通过学法免分考试把6分清空重新开始。 学法减分政策为驾驶员提供了一次难得的加分机会。然而…

WordPress 6.6 “Dorsey多尔西”发布

WordPress 6.6 “Dorsey多尔西”已经发布&#xff0c;它以传奇的美国大乐队领袖 Tommy Dorsey 名字命名。Dorsey 以其音调流畅的长号和作品而闻名&#xff0c;他的音乐以其情感深度和充满活力的能量吸引了观众。 当您探索 WordPress 6.6 的新功能和增强功能时&#xff0c;让您的…

MBR40150FCT-ASEMI无人机专用MBR40150FCT

编辑&#xff1a;ll MBR40150FCT-ASEMI无人机专用MBR40150FCT 型号&#xff1a;MBR40150FCT 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220F 批号&#xff1a;最新 最大平均正向电流&#xff08;IF&#xff09;&#xff1a;40A 最大循环峰值反向电压&#xff08;VRRM&a…

部署kafkamanager

1&#xff0c;检查kafka的版本 到lib下查看 libs/kafka-clients-0.11.0.3.jar kafka的版本 0.11 2&#xff0c;下载kafkamanager 链接&#xff1a; https://pan.baidu.com/s/1qYifoa4 密码&#xff1a;el4o 3&#xff0c;解压后更改该conf下conf/application.conf 中zkhosts …

论文翻译 | Successive Prompting for Decomposing Complex Questions 分解复杂问题的连续提示

摘要 回答需要做出潜在决策的复杂问题是一项具有挑战性的任务&#xff0c;尤其是在监督有限的情况下。 最近的研究利用大型语言模型&#xff08;LMs&#xff09;的能力&#xff0c;在少量样本设置中通过展示如何在单次处理复杂问题的同时输出中间推理过程&#xff0c;来执行复杂…

2024年金航标和萨科微扩张

近年电子信息产业链的外迁和世界经济的低迷&#xff0c;各行各业都很卷&#xff0c;加班加点但业绩负增长是常态&#xff0c;互联网大厂阿里巴巴大裁员、字节跳动裁到了大动脉、京东刘强东抛弃躺平的兄弟、深圳华强北做电子元器件的老板老板娘们一脸茫然&#xff0c;周围都弥漫…

2024华为数通HCIP-datacom最新题库(变题更新⑥)

请注意&#xff0c;华为HCIP-Datacom考试831已变题 请注意&#xff0c;华为HCIP-Datacom考试831已变题 请注意&#xff0c;华为HCIP-Datacom考试831已变题 近期打算考HCIP的朋友注意了&#xff0c;如果你准备去考试&#xff0c;还是用的之前的题库&#xff0c;切记暂缓。 1、…

【数据表的类型】

MYISAMINNODB事务支持不支持支持数据行锁定不支持支持外键约束不支持支持全文索引支持不支持表空间的大小较小较大&#xff0c;约为MYISAM的2倍 常规使用操作 MYISAM节约空间&#xff0c;速度较快 INNODB安全性较高&#xff0c;事务的处理&#xff0c;多表多用户操作 在物理…

人工智能在软件开发中的崭新角色:助力还是取代?

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;其在软件开发领域的应用日益广泛&#xff0c;引发了开发者们对未来职业前景和技能需求变化的深刻思考。 传统上&#xff0c;软件开发是一项高度创造性和复杂的任务&#xff0c;但随着生成式人工智能&#xff…

CSI-2介绍

CSI-2介绍 1.CSI-2是什么2.CSI-2功能简述3.分层传输3.1应用层&#xff08;Application Layer&#xff09;3.2协议层&#xff08;Protocol Layer&#xff09;3.3物理层&#xff08;PHY Layer&#xff09; 4.支持传输数据类型5.版本5.1、CSI-2 1.05.2、CSI-2 2.0 6.框图6.1CSI2&a…

【手写数据库内核组件】0501多线程并发模型,任务分发多工作者执行架构实现,多线程读写状态时volatile存储类型使用技巧

0501 多线程管理 ​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 0501 多…

微信小程序加载动画文件

最近在做微信小程序的动画&#xff0c;调研了几种方案 PAG 腾讯自家的&#xff0c;分为完整版和lite版&#xff0c;对于矢量动画挺好的&#xff0c;但是位图会有问题 完整版会逐渐卡死&#xff0c;lite虽然不会卡死&#xff0c;但是很模糊&#xff0c;优点是动画文件很的很小。…

Linux 多进程编程详解

Linux 多进程编程详解 多进程编程是现代操作系统中一种重要的并发编程技术。通过在同一程序中运行多个独立的进程&#xff0c;可以实现并发处理&#xff0c;充分利用多核处理器的优势&#xff0c;提高程序的运行效率。本文将详细介绍Linux多进程的基本概念、创建方法、进程间通…

深入理解PostgreSql域类型(Domain),灵活定义数据约束,让表结构设计更加严谨

在PostgreSQL中&#xff0c;域&#xff08;Domain&#xff09;是一种用户定义的数据类型&#xff0c;它基于系统内已存在的数据类型&#xff0c;并可以附加约束条件。使用域可以增强数据的完整性和一致性&#xff0c;因为它允许开发者对特定列设定更为具体的规则&#xff0c;比…

LeetCode 链表OJ题

1.消失的数字 题目信息及链接&#xff1a;面试题 17.04. 消失的数字 - 力扣&#xff08;LeetCode&#xff09; 分析&#xff1a; 首先我们看到题目给予了我们一个数组&#xff0c;要求我们找到消失的数字&#xff0c;这个消失的数字指的是所给我们的数组中排序后少掉的数字&…

用go实现限流算法

文章目录 固定窗口优缺点&#xff1a;适用场景&#xff1a;总结&#xff1a; 滑动窗口优缺点&#xff1a;适用场景&#xff1a;总结&#xff1a; 漏桶限流器优缺点&#xff1a;适用场景&#xff1a;总结&#xff1a; 令牌桶优缺点&#xff1a;适用场景&#xff1a;总结&#xf…

【Python】Selenium怎么切换浏览器的页面

我们在爬网使用Selenium进行测试的时候&#xff0c;有时候想要点击浏览器里面的网址&#xff0c;跳到另一个页面上&#xff0c;获取第二个页面的内容。 可是有时候从官网进去&#xff0c;点击跳转到下一个页面以后&#xff0c;却没法定位到下一个页面的元素&#xff0c;这时候就…

Pytorch学习笔记day1—— 安装教程

这里写自定义目录标题 Pytorch安装方式 工作需要&#xff0c;最近开始搞一点AI的事情。但是这个国产的AI框架&#xff0c;实话说对初学者不太友好 https://www.mindspore.cn/ 比如说它不支持win下的CUDA&#xff0c;可是我手里只有3070Ti和4060也不太可能自己去买昇腾就有点绷不…