缓存网页对象,减少重复请求
1.存储一些之前被访问的,且可能将要被再次访问的静态网络资源对象,使用户可以直接从缓存代理服务器获取资源,从而减少上游原始服务器的负载压力,加快整个访问速度。
2.代理服务器还可以代替客户端去获取原始服务器资源,从而隐藏客户端真实地址
本地实现:nginx 、squid、varnish
云环境远端实现:CDN
redis、memcached
--------------------------------------------------------------------------------------------------------------------------------
关闭防火墙
在三台虚拟机上安装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
?
配置缓存服务器
1.先关闭三台服务器的长连接
vim /etc/nginx/nginx.conf
27 ? ? keepalive_timeout 0;
systemctl restart nginx
2.在缓存服务器里接着配置
proxy_cache_path /etc/nginx/cache
levels=1
keys_zone=my_cache:10m
max_size=10G
inactive=5m
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不保存
内容分发网络,在最接近用户的网络“边缘节点”增加一层CDN缓存代理服务器,将源站点的内容发布CDN节点,可以使用户可以就近取得所需的内容,提高用户访问网站的响应速度。
将源站点(web应用服务器)的静态网页资源缓存到CDN节点上,用户请求资源时,就近返回CDN节点上缓存的资源,而不需要每个用户的请求都从源站点获取,从而避免网络拥塞、缓解源站点的压力,保证用户访问资源的速度和体验。
1.对于热点资源,要定时做缓存预热
2.如果CDN节点没有,会从上游原始服务器或源站点获取资源,并同步到CDN节点的缓存中