当前位置: 首页 > news >正文

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

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.lryc.cn/news/91174.html

相关文章:

  • Java 集合、数组、字符串的相互转换(关于list.toArray(new String[0])的源码分析)
  • Redis的全局命令及相关误区
  • C++核心编程—类和对象,类的三大特性——封装、继承、多态
  • keep-alive 是 Vue 内置的一个组件,被用来缓存组件实例。
  • (八)Spring之IOC控制反转、DI依赖注入介绍和使用(详解)
  • 凸缺陷 convexityDefects
  • c语言编程练习题:7-43 Shuffling Machine
  • ffmpeg enum AVChannel枚举解析
  • invest模型教程
  • LinuxShell编程
  • stm32学习笔记-11 SPI通信
  • “微商城”项目(3页面布局)
  • Java 八股文 - MySQL
  • 周赛347(模拟、思维题、动态规划+优化)
  • String AOP的使用
  • 华为芯片基地旁,龙华科技小镇大水坑片区城市更新单元旧改项目
  • 论文阅读 | 频谱监测、认知电子战、网电攻击
  • MySQL server安装记录
  • 平衡树原理讲解
  • SpringMVC框架面试专题(初级-中级)-第七节
  • 爬虫实战案例
  • ConcurrentLinkedQueue非阻塞无界链表队列
  • 排序算法稳定性
  • 统计学期末复习整理
  • Sketch在线版免费使用,Windows也能用的Sketch!
  • 详解uni-app项目运行在安卓真机调试
  • 体积小、无广告、超实用的5款小工具
  • OZON好出单吗?新手如何做?注意事项是什么?
  • 性能测试需求分析有哪些?怎么做?
  • STM32F103RCT6 -- 基于FreeRTOS 的USART1 串口通讯