六安网站定制,济南软件开发工资一般多少,软件介绍下载网站建设,网站类软文1 缓存代理
1.1 缓存代理的概述
web代理的作用
缓存网页对象#xff0c;减少重复请求
存储一些之前被访问的或且可能将要备再次访问的静态网页资源对象#xff0c;使用户可以直接从缓存代理服务器获取资源#xff0c;从而减少上游原始服务器的负载压力#xff0c;加快整…1 缓存代理
1.1 缓存代理的概述
web代理的作用
缓存网页对象减少重复请求
存储一些之前被访问的或且可能将要备再次访问的静态网页资源对象使用户可以直接从缓存代理服务器获取资源从而减少上游原始服务器的负载压力加快整个整个访问速度。代理服务器还可以代替客户端去获取原始服务器资源从而隐藏客户端真实地址。 1.2 代理服务器的工作机制
1代理客户机向网站请求数据从而可以隐藏用户的真实IP地址。
2将获得的网页数据静态 、web、元素保存到缓存中并发送给客户机一遍下次请求相同的数据时快速响应。
1.3 代理服务器的概念
代理服务器是一个位于客户端和原始(资源)服务器之间的服务器为了从原始服务器取得内容客户端向代理服务器发送一个请求并指定目标原始服务器然后代理服务器转交请求并将获得的内容返回给客户端。
缓存代理对于web至关重要尤其对于大型高负载web站点。缓存可作为性能优化的一个重要手段可以极大减轻后端服务器的负载通常用于静态资源即减少经常更新的资源如图片、css或js等进行缓存从而在每次刷新浏览器的时候不用重新请求而是从缓存里面读取这样就可以减轻服务器的压力。
1.4 代理服务器的作用
资源获取
代替客户端实现从原始服务器的资源获取
加速访问
代理服务器可能力原始服务器更近
缓存作用
代理服务器保存
隐藏真实地址
代理服务器
1.5 常见的web缓存代理
本地实现 Nginx Squid Varnish
云环境远端实现 CDN
2 Nginx缓存代理
2.1 页面缓存
两台nginx服务器
192.168.111.44
192.168.111.55
一台nginx缓存服务器
192.168.111.10
两台nginx服务器长连接状态关闭 nginx缓存服务器配置
http {proxy_cache_path /data/nginx/cache levels1:2 keys_zonemy_cache:10m max_size10g inactive60m use_temp_pathoff;#####################################################
●path强制参数指定缓存文件的存放路径。
●levels定义了缓存目录的层级。每层可以用1最多16种选择0-f或2最多256种选择00-ff表示中间用 : 分隔。
proxy_cache_path /data/nginx/cache; 代表所有缓存只有一个目录比如/data/nginx/cache/d7b6e5978e3f042f52e875005925e51b
proxy_cache_path /data/nginx/cache levels1:2; 代表缓存是二层目录有16*2564096个目录比如/data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b
●keys_zone强制参数定义共享内存区的名称和大小该共享内存用于保存缓存项目的元数据所有活动的key和缓存数据相关的信息这样nginx可以快速判断一个request是否命中或者未命中缓存1m可以存储8000个key10m可以存储80000个key。
●inactive删除指定时间内未被访问的缓存文件默认10分钟。
●max_size设置了缓存存储的上限如果不指定最大会用掉所有磁盘空间。
●use_temp_path直接把临时文件放在缓存目录中。
##################################################### upstream cache_server{server 192.168.80.20:80;server 192.168.80.30:80;}server {listen 80;server_name www.kgc.com;location / {proxy_cache my_cache; #指定用于页面缓存的共享内存zone名称由proxy_cache_path指令定义proxy_cache_valid 200 5m; #为不同的响应状态码设置不同的缓存时间此为缓存状态码为200的请求缓存时长为5分钟proxy_cache_key $request_uri; #指定缓存文件的key为请求的URIadd_header Nginx-Cache-Status $upstream_cache_status #把缓存状态设置为头部信息响应给客户端proxy_pass http://cache_server; #设置代理转发的后端服务器的协议和地址}}
} 浏览器页面查看 状态码
expired过期
miss未缓存
hit已缓存
2.2 重要页面不缓存
#对于一些实时性要求非常高的页面或数据来说就不应该去设置缓存下面来看看如何配置不缓存的内容。
proxy_cache_path /data/nginx/cache levels1:2 keys_zonemy_cache:10m max_size10g inactive60m use_temp_pathoff;
server {listen 80;server_name cache.lion.club;#URI 中后缀为 .txt 或 .text 的设置变量值为 no cacheif ($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为请求的URIadd_header Nginx-Cache-Status $upstream_cache_status #把缓存状态设置为头部信息响应给客户端proxy_pass http://cache_server; #代理转发}
} 测试状态码为miss 查看页面是否出现404状态码为miss 3 CDN
3.1 CDN的概念
CDN的全称是Content Delivery Network即内容分发网络。其目的是通过现有的Internet中增加一层新的CACHE缓存层将网站的内容发布到最接近的用户的网络“边缘”的节点使用户可以就近去的所需的内容提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因提高用户访问网站的响应速度。
简单地说CDN的工作原理就是将您源站的资源混存到位于全球各地的CDN节点上用户请求资源时就近返回节点上缓存的资源而不需要每个用户的请求都回您的源站获取避免网络阻塞、缓解源站压力保证用户访问资源的速度和体验。
3.1 CDN原理
在最接近用户网络“边缘”增加一层CDN缓存代理服务器将源站点的内容发布到CDN节点可以使用户就近取得所需的内容从而提高用户访问网站的响应速度。
工作原理
将源站点web应用服务器的静态网页资源缓存到CDN节点上用户请求资源时就近返回CDN节点上缓存的资源而不需要每个用户的请求都从源站点获取。从而避免网络拥塞缓解源站点的压力保证用户访问资源的速度和体验。
3.2 CDN的内容如何获取
1对于热点资源定时做缓存预热。
2如果CDN节点没有会从上游服务器或源站点获取资源并同步到CDN节点的缓存中。