location / { root / Users / huangqingpeng / Desktop / workspaces / qiankun / vue - qiankun - demo / dist ; try_files $uri $uri / / index . html ; index index . html index . htm ; if ( $request_filename ~ * . * \ . ( ? : htm | html ) $ ) add_header Cache - Control "private, no-store, no-cache, must-revalidate, proxy-revalidate" ; if ( $request_filename ~ * . * \ . ( ? : js | css ) $ ) expires 7 d ; if ( $request_filename ~ * . * \ . ( ? : jpg | jpeg | gif | png | ico | cur | gz | svg | svgz | mp4 | ogg | ogv | webm ) $ ) expires 7 d ; nginx不缓存server { listen 18080; #listen 80; server_name localhost; error_page 500 502 503 504 /50x.html; location / { root /Users/huangqingpeng/Desktop/workspaces/qiankun/vue-qiankun-d 静态文件 缓存 ,可以减少带宽的损耗。上游服务器的文件可以 缓存 Nginx Nginx 的文件也可以 缓存 到浏览器。 浏览器 缓存 : 加速用户访问,提升单个用户(浏览器访问者)体验, 缓存 在本地。 Nginx 缓存 缓存 nginx 端,提升所有访问到 nginx 这一端的用户体验。 提升访问上游(upstream)服务器的速度。 用户访问仍然会产生请求流量。 1 控制浏览器 缓存 浏览器主要是控制 缓存 过期时间,可以不设置。 location /files { alias /home/imooc; server_name test.exmaple.cn; location / { if ($request_filename ~* .*\.(?:htm| html )$) ## 配置 页面不 缓存 html 和htm结尾的文件 add_header Cache-Control "private, no-sto 缓存 的基本思想是利用客户端访问的时间局限性,将客户端访问过的内容做一个副本,在一定时间内存放到本地,当改数据下次被访问时,不必连接到后端服务器反复去查询数据,而是由本地保存的副本响应数据。 保存在本地的这些副本具有一个过期时间,超过该时间将会更新。判断一个副本数据是否为过期数据的办法有很多,可以使用保留时间来判断,也可以使用数据完整度来判断。 许多Web服务器还具有校验功能,就是当某些副本数据过期以后,先向后端服务器发送校验请求,后端服务器对这些数据进行校验,如果发现原数据和副本没有差别
现在浏览器或者系统访问网页都会有自己的一套 缓存 机制,这就可能会导致前端代码已经更新了,但是用户还是访问了之前的 缓存 。 这里介绍下用 nginx 处理这个问题的方法,这里 配置 html 和htm文件不 缓存 server { listen 80; server_name test.exmaple.cn; location / { if ($request_filename ~* .*\.(?:htm| html )$) ## 配置 页面不 缓存 html 和htm结尾的文件
方式1:直接在loacation模块下加入如下参数:# 配置 页面不 缓存 html 和htm结尾的文件 if ($request_filename ~* .*\.(?:htm| html )$) add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate"; }方式2:location下 配置 表示最长过期时间,即一直 缓存
缓存 的使用在各种项目中非常普遍, nginx 作为一款高效的代理服务器,也提供了强大的 缓存 机制,试想在一些大型网站中,静态的 html ,js, css 文件等数量非常庞大的情况下,加载页面的时候,如果没有 缓存 的话,页面将会非常慢,在这种情况下,就可以考虑使用 nginx 提供的 缓存 功能的 配置 Nginx 的web 缓存 服务主要是使用 ng x_http_proxy_module模块相关指令集来完成,接下来把常用的指令做一下总结: proxy_cache_path该指定用于设置 缓存 文件的存放路径语法格式 // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +----------------------------------------------------------------------