做彩票网站捉怎么处理,用百度网盘做视频网站,企业整站优化,seo优化方式包括文章目录 Web缓存代理Nginx配置缓存代理详细说明 CDN内容分发网络CDN的作用CDN的工作原理CDN内容的获取方式解决缓存集中过期的问题 Web缓存代理
作用#xff1a;
缓存之前访问过的静态网页资源#xff0c;以便在再次访问时能够直接从缓存代理服务器获取#xff0c;减少源… 文章目录 Web缓存代理Nginx配置缓存代理详细说明 CDN内容分发网络CDN的作用CDN的工作原理CDN内容的获取方式解决缓存集中过期的问题 Web缓存代理
作用
缓存之前访问过的静态网页资源以便在再次访问时能够直接从缓存代理服务器获取减少源服务器的负载压力。加快用户的访问速度。可以作为正向代理服务器隐藏客户端的真实地址。 常见的Web缓存代理应用本地部署Nginx、Squid、Varnish云环境使用CDN
Nginx配置缓存代理
http {......# 配置缓存路径和相关参数proxy_cache_path /data/nginx/cache levels1 keys_zonemy_cache:10m max_size10g inactive60m use_temp_pathoff;# 缓存目录 目录层级 缓存共享内存区域的名称和大小 缓存数据上限 缓存失效时间 不存放临时文件upstream XXXX { # 上游服务器数量 2 时server IP:PORT;......}server {listen IP:PORT;server_name 主机名;location 匹配静态网页路径 {proxy_cache my_cache; # 指定使用的缓存共享内存区域的名称proxy_cache_valid 200 60m; # 指定有效缓存的响应状态码和缓存时间proxy_cache_key $request_uri; # 指定缓存数据的key为请求的URL路径add_header Nginx_Cache_Status $upstream_cache_status; # 添加响应头显示缓存状态HIT命中缓存 MISS未命中proxy_pass http://XXXX; # 设置未命中缓存时的代理转发}}
}详细说明 proxy_cache_path: /data/nginx/cache: 指定缓存文件的存储目录。levels1:2: 缓存目录的层级结构。这里表示使用一级目录和二级子目录来组织缓存文件有助于提高文件系统性能。keys_zonemy_cache:10m: 定义一个缓存共享内存区域my_cache大小为10MB用于存储缓存键和元数据。max_size10g: 设置缓存的最大容量为10GB。inactive60m: 如果缓存文件在60分钟内未被访问则被认为是无效的并可以被删除。use_temp_pathoff: 禁用临时路径的使用直接写入缓存目录。 upstream XXXX: 定义一个上游服务器组XXXX包含多个上游服务器。Nginx会根据负载均衡策略默认是轮询将请求分发到这些服务器。 server: listen IP:PORT: 指定Nginx监听的IP地址和端口。server_name 主机名: 指定服务器的主机名或域名。 location: 匹配特定的请求路径。proxy_cache my_cache: 使用前面定义的my_cache缓存共享内存区域。proxy_cache_valid 200 60m: 对HTTP状态码为200的响应设置60分钟的缓存有效期。proxy_cache_key $request_uri: 设置缓存数据的键为请求的URL路径。add_header Nginx_Cache_Status $upstream_cache_status: 添加一个响应头显示缓存状态。proxy_pass http://XXXX: 如果请求未命中缓存则转发到上游服务器组XXXX进行处理。
CDN内容分发网络
CDNContent Delivery Network即内容分发网络是一种利用分布式节点技术在全球范围内部署服务器将源站点服务器的内容发布并缓存到这些服务器上。当用户请求访问这些内容时可以从最近的CDN节点获取从而提高用户访问网站的响应速度和体验。
CDN的作用
缓存Web网站内容CDN将源站点服务器的静态网页资源如HTML、CSS、JavaScript、图片等缓存到全球各地的节点上。降低用户网络延迟用户可以从最近的CDN节点获取所需内容减少了传输延迟和网络拥塞。
CDN的工作原理
资源缓存源站点服务器的静态网页资源首先被缓存到CDN的各个节点上。用户请求当用户请求访问某个资源时其请求首先到达本地DNS服务器。DNS解析本地DNS服务器将请求转发给CDN专用的DNS服务器后者根据用户的IP地址和请求的URL选择最靠近用户的CDN节点并返回该节点的IP地址给用户。资源分发用户向所选的CDN节点发起请求该节点检查自身缓存中是否有用户所需的资源。如果命中缓存则直接将资源返回给用户如果未命中缓存则节点会向源站点服务器请求资源获取后同步到自身缓存中并返回给用户。
CDN内容的获取方式
用户访问触发当用户直接访问资源时CDN节点会检查缓存。如果命中缓存则直接返回资源如果未命中则向源站点服务器请求资源并缓存。缓存预热对于热点资源可以在其上线前或上线时立即进行缓存预热。这通常是通过预设的脚本或工具来实现的将热点资源主动推送到CDN的各个节点上以确保用户访问时能够命中缓存。
解决缓存集中过期的问题
缓存集中过期是指大量缓存内容在同一时间过期导致CDN节点需要频繁地向源站点服务器请求资源并重新缓存。这会增加源站点服务器的负载压力并可能导致用户访问延迟。
为了解决这个问题可以采用二级缓存策略
一级缓存CDN节点上的缓存通常具有较短的过期时间。二级缓存在CDN节点之后如运营商网络或用户本地网络增设一层缓存具有较长的过期时间。当用户请求资源时如果一级缓存未命中则尝试从二级缓存中获取。如果二级缓存也未命中则向源站点服务器请求资源并同步到一级和二级缓存中。
通过这种方式可以分散缓存过期的压力减少源站点服务器的负载并提高用户访问资源的速度和体验。