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 ]
// +----------------------------------------------------------------------