服务(第三十二篇)nginx做缓存服务器

news/2025/2/13 10:39:08/

nginx作为缓存服务配置语法

1、proxy_cache_path 配置语法(即缓存路径配置语法)
Syntax:proxy_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] [manager_files=number]
[manager_sleep=time] [manager_threshold=time] [loader_files=number] [loader_sleep=time] [loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep =time] [ purger_threold=time]
path表示缓存文件路径; levels表示目录的分级; use_temp_path表示用于存放临时文件的路径; keys_zone表示开辟的缓存空间的名字和大小; inactive表示不活跃的,超过多长时间缓存文件没有被访问过,就会清理该缓存文件; max_size表示缓存文件目录的最大大小。

Default:——; 表示默认没有配置。

Context:http; 表示只能配置在http块中。

2、proxy_cache配置语法(即缓存配置语法)
Syntax:proxy_cache zone | off; 表示配置代理缓存的区域。
Default:proxy_cache off; 表示默认关闭状态。
Context:http,server,location 表示可以配置在http块、server块及location块中。
3、proxy_cache_valid 配置语法(即缓存过期周期配置语法)
Syntax:proxy_cache_valid [code…] time; 表示配置代理缓存的有效期,code 指返回客户端的状态码。
Default:——; 表示默认没有配置。
Context:http,server,location 表示可以配置在http块、server块及location块中。
4、proxy_cache_key 配置语法(即缓存维度配置语法)
Syntax:proxy_cache_key string; 表示配置代理缓存维度的key。
Default:proxy_cache_key $scheme $proxy_host $request_uri; scheme表示协议,proxy_host表示主机,request_uri 表示url。
Context:http,server,location 表示可以配置在http块、server块及location块中。

实验:

前期准备:

192.168.169.30(已安装nginx)   此虚拟机作为负载均衡缓存服器

192.168.169.40(已安装nginx)   此虚拟机通过nginx配置两个端口访问两个不同的页面(模拟两台虚拟机应用

①/opt/app/code1/目录下创建index.html 1页面

/opt/app/code2/目录下创建index.html 2页面

 ②修改配置文件:

 ③检查语法,重启nginx

nginx -t    systemctl restart nginx

 ④查看nginx:netstat -lntup | grep nginx

 

 ⑤配置nginx的缓存服务器,修改nginx的配置文件

 #/opt/app/cache表示缓存文件路径;levels表示目录的分级;
#keys_zone表示开辟的缓存空间的名字和大小;max_size表示缓存文件目录的最大大小。
#inactive表示不活跃的,超过多长时间缓存文件没有被访问过,就会清理该缓存文件;
#use_temp_path表示用于存放临时文件的路径;

 location / {
        proxy_pass http://blance;
        proxy_cache blance_cache; #上面配置的keys_zone的名字
        proxy_cache_valid 200 300 12h; #表示200状态码、300状态码缓存的有效期,12小时后过期
        proxy_cache_valid any 10m; #表示除了200和300状态码,其他的10分钟以后过期
        proxy_cache_key $host$uri$is_args$args; #定义缓存的key格式
        add_header Nginx-Cache "$upstream_cache_status"; #添加头信息给客户端,f12时可以看缓存是否被命中
        
        #配置的upstream服务器如果发生错误、超时或者返回500、502、503、504时跳过此台服务器访问下一台服务器
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    }    
 

⑥配置文件检测:

⑦开启nginx,查是否起来 

⑧检测:

 无论你怎么刷新都不会变,因为我访问的是缓存!!!


http://www.ppmy.cn/news/98209.html

相关文章

【Docker】Swarm学习

文章目录 什么是Docker Swarm定义与Docker Compose对比 基本结构图关键概念工作模式NodeService任务与调度服务副本与全局服务 Swarm的调度策略Swarm的特性批量创建服务强大的集群的容错性服务节点的可扩展性调度机制 集群部署基础架构准备工作创建Swarm并添加节点在Swarm中部署…

SpringCloud高级篇 - 微服务保护

✨作者:猫十二懿 ❤️‍🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 学习课程视频 SpringCloud 高级篇 – 微服务保护 1.初识Sentinel 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中&#xff0…

【图神经网络】手把手带你快速上手OpenHGNN

手把手带你快速上手OpenHGNN 1. 评估新的数据集1.1 如何构建一个新的数据集 2. 使用一个新的模型2.1 如何构建一个新模型 3. 应用到一个新场景3.1 如何构建一个新任务3.2 如何构建一个新的trainerflow 内容来源 1. 评估新的数据集 如果需要,可以指定自己的数据集。…

Spring Security 核心解读(一)整体架构

Spring Security 整体架构 前提整体架构Servlet 整体的过滤器模型Security 过滤器链自定义过滤器 实际开发解决方案一个替代cookie认证的filter其他组件,后续抽时间再整理整理 前提 开源项目一手文档基本都在github,标准文档基本都在官网。 最好的文档就…

12.区块链系列之比特币NFT

1. NFT协议Ordinals 2023年1月30日,比特币核心开发者Casey Rodarmor创建了NFT协议Ordinals Ordinals序数: 比特币的最小单位是Satoshi聪,1BTC1亿聪,每个聪的比特币都是同质化代币,它们之间并没有任何差别。Ordinals给聪打上了编号&#xff0…

【Qt】窗口部件 标准对话框

目录 三 窗口部件 1.QWidget 1.1 窗口与子部件 2.QDialog 2.1 模态和非模态对话框 2.2 初始信号和槽并实现多窗口切换 1) 定义信号和槽 2) 自动定义对话框 3) 标准对话框 a.颜色对话框 b.文件对话框 c.字体对话框 d.输入对话框 e.消息对话框 f.进度对话框 g.错…

使用OpenCvSharp来计算图像的清晰度(可实现相机自动对焦)

相机自动对焦,其实是对相机成像的清晰值得计算,若对焦不清晰,成像的清晰度低,视觉效果模糊。若是在工业检测行业,对焦不准确,可能导致信息不正确;对焦准确的图像,其清晰度高&#xf…

刷题-合作为王

题目描述 前几天,叶老师带的浙江理工大学又有同学获得国际大学生程序设计竞赛亚洲区金牌了。 大学生的竞赛与中小学竞赛略有区别,他们是3个人组队。就在你们比赛的当天,叶老师派了2个队去参加亚洲区总决赛了。 可是要如何挑选出3个默契的同学…