web缓存代理

缓存代理的概述

wed代理的工作机制

缓存网页对象,减少重复请求

web缓存代理作用

1.存储一些之前被访问的,且可能将要被再次访问的静态网络资源对象,使用户可以直接从缓存代理服务器获取资源,从而减少上游原始服务器的负载压力,加快整个访问速度。

2.代理服务器还可以代替客户端去获取原始服务器资源,从而隐藏客户端真实地址

常见的web缓存代理应用:

本地实现:nginx 、squid、varnish

云环境远端实现:CDN

数据库缓存代理应用

redis、memcached

--------------------------------------------------------------------------------------------------------------------------------

nginx缓存代理

实验准备

  关闭防火墙
  在三台虚拟机上安装nginx
  web1:192.168.116.12
  web2:192.168.116.13
  缓存服务器:192.168.116.111

配置web网页

1.cd /usr/share/nginx/html/
echo "this is web01 test page" > test.html
echo "this is web02 test page" > test.html
​
systemctl enable --now nginx

打开浏览器验证

web缓存代理_第1张图片

 web缓存代理_第2张图片

配置缓存服务器

1.先关闭三台服务器的长连接
vim /etc/nginx/nginx.conf
27     keepalive_timeout  0;
systemctl restart nginx
2.在缓存服务器里接着配置
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
---------------------------------------------------
proxy_cache_path         指定缓存目录位置
levels=1                 定义你的目录层级,2层则是1:2
keys_zone=my_cache:10m   定义共享区域的名称,:10m,定义多大
max_size=10G             缓存存储空间大小
inactive=5m              5分钟的缓存效果
use_temp_path=off        是否保存临时文件,off不保存


----------------------------------------------------
添加指定的web服务器

upstream cache_server {
  server 192.168.116.12:80;
  server 192.168.116.13:80;
}
vim /etc/nginx/conf.d/default.conf


server {
  listen 80;
  server_name cache.lion.club;
  #URI 中后缀为 .txt 或 .text 的设置变量值为 "no cache"
  if ($request_uri ~ \.(txt|text)$) {
   set $cache_name "no cache";
  }
  
  location / {
    proxy_no_cache $cache_name;      #判断该变量是否有值,如果有值则不进行缓存,如果没有值则进行缓存
    proxy_cache my_cache;            #设置缓存内存
    proxy_cache_valid 200 5m;        #缓存状态为200的请求,缓存时长为5分钟
    proxy_cache_key $request_uri;    #缓存文件的key为请求的URI
    add_header Nginx-Cache-Status $upstream_cache_status    #把缓存状态设置为头部信息,响应给客户端
    proxy_pass http://cache_server;  #代理转发
  }
}

 

web缓存代理_第3张图片

web缓存代理_第4张图片

web缓存代理_第5张图片

 web缓存代理_第6张图片

web缓存代理_第7张图片

CDN

1、CDN概述

内容分发网络,在最接近用户的网络“边缘节点”增加一层CDN缓存代理服务器,将源站点的内容发布CDN节点,可以使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

2、工作原理

将源站点(web应用服务器)的静态网页资源缓存到CDN节点上,用户请求资源时,就近返回CDN节点上缓存的资源,而不需要每个用户的请求都从源站点获取,从而避免网络拥塞、缓解源站点的压力,保证用户访问资源的速度和体验。

3、CDN内容是如何获取的

1.对于热点资源,要定时做缓存预热

2.如果CDN节点没有,会从上游原始服务器或源站点获取资源,并同步到CDN节点的缓存中

你可能感兴趣的:(java,spring,开发语言)