山东省建设厅网站查,常用的erp系统,wordpress插件预订,红色主题展馆设计一、nginx缓存知识 网络缓存位于客户端和 源服务器 之间#xff0c;保存着所有可见内容的副本。当客户端请求缓存中存储的内容时#xff0c;它可以直接从缓存中检索内容#xff0c;而无需与服务器通信。这样#xff0c;网络缓存就 接近 了客户端源服务器 之间保存着所有可见内容的副本。当客户端请求缓存中存储的内容时它可以直接从缓存中检索内容而无需与服务器通信。这样网络缓存就 接近 了客户端提高了响应性能并更有效地利用了应用服务器使其不必为每个请求生成页面。 在浏览器和应用服务器之间有多种 潜在 缓存包括客户端浏览器缓存、中间缓存、内容交付网络CDN、负载均衡和服务器上的反向代理。缓存即使只是在反向代理和负载平衡的层面上对于提高性能也是非常有用的。 举个例子来说明去年我为一个加载缓慢的网站进行了性能优化。我注意到的第一件事是主页的生成时间几乎长达一秒或更长。经过一番调试我发现加载速度慢的原因是网页被标记为非缓存这意味着每次请求都会动态生成。这其实没有必要因为网页本身不需要经常更改也不需要个性化。为了验证我的结论我将页面标记为每五秒钟缓存一次。第一个字节到达的时间缩短到几毫秒页面加载速度明显加快。 除了大型内容交付网络CDN缓存还能提高负载平衡器、反向代理和应用服务器前端网络服务的性能。从上面的例子中可以看出缓存内容可以更有效地利用应用服务器因为页面生成过程无需每次重复。此外网络缓存还可用于提高网站的可靠性。如果服务器宕机或繁忙可以对 NGINX 进行设置将缓存内容发送给用户而不是向用户返回错误信息。这就意味着如果应用服务器或数据库出现故障网站的部分或全部功能仍能保持。
二、设置nginx缓存
nginx源站点服务器设置 缓存服务器设置
proxy_cache_path /data/nginx/cache levels1 keys_zonemy_cache:10m max_size10g inactive3m 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直接把临时文件放在缓存目录中。 location / {root /usr/share/nginx/html;index index.html index.htm;proxy_cache my_cache; #指定用于页面缓存的共享内存zone名称由proxy_cache_path指令定义proxy_cache_valid 200 3m; #为不同的响应状态码设置不同的缓存时间此为缓存状态码为200的请求缓存时长为3分钟proxy_cache_key $request_uri; #指定缓存文件的key为请求的URIadd_header Nginx-Cache-Status $upstream_cache_status; #把缓存状态设置为头部信息响应给客户端proxy_pass http://webservers; #设置代理转发的后端服务器的协议和地址}测试 三、补充知识 CDN 内容分发网络 在最接近用户的网络“边缘”增加一层CDN缓存代理服务器将源站点的内容发布CDN节点可以使用户就近取得所需的内容提高用户访问网站的响应速度。 CDN工作原理将源站点Web应用服务器的静态网页资源缓存到CDN节点上用户请求资源时通过与DNS的配合找到最靠近用户的一台CDN缓存服务器然后把资源数据快速地分发给用户而不需要每个用户的请求都从源站点获取从而避免网络拥塞、缓解源站点的压力保证用户访问资源的速度和体验。 CDN的内容是如何获取的 1对于热点资源定时做缓存预热 2如果CDN节点没有会从上游服务器或源站点获取资源并同步到CDN节点的缓存中