服务(第三十二篇)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,查是否起来 

⑧检测:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值