00:00
Hello,同学们好,这节课呢,我们开始呃给大家讲解这个NG的外置缓存的这个配置,在这个外置缓存的配置当中呢,呃,我们会先给大家讲这errorr配置,然后这个匿名location这两个作为我们呃提前的一些预备的知识吧,先给大家来讲这两个东西,然后接下来给大家来讲一讲这个Mary cash和red的具体的使用。那首先呢,我们先了解一下这个arrow page啊,这个arrow page啊,顾名思义就是错误页,我们看一下现在的N的配置文件。在我们当前这个配置文件,就是默认的配置文件里就有配置这个error page,这个error配置指的是当我们的服务器端呃发生错误的时候,比如说是500系列错误啊,那么就会跳转到这个location下,注意啊。这个后边跟的呢,不是绝对的地址,这是一个location,那在这个这个location下边有定义,这儿有一等号斜杠开头。50x.HTML也就是也就是说当访问到这个50x.HTML的时候,才会进入到这个root,那什么时候会访问到这个五零叉点HTML?
01:09
那么会在发生错误的时候啊,当发生这类错误之后,会跳转到我们的这个location上啊,是这么去解读。啊,这是它的这个默认的配置的含义,那么在这儿呢,呃,这个location,下边的这个root,以及下边的一系列这些,呃,这个内容呢,我们都是可以去配置的,呃,一方面呢,是可以更友好的去提示用户发生这个错误,另外一方面呢,我们也可以专门去利用这种错误去做一些接下来的一些事情,就像我们写的这个check catch,那你TRY啊,去正常的业务逻辑,那么在上面执行都没有问题,那catch住一系列的异常之后,比如说500这个异常,那么接下来我会进这个进入一些补偿的逻辑,这个并不一定是这个报错的逻辑啊,这个还可以是补偿的逻辑,比如说我们在访问我们的缓存的时候,当前呢,我们的站点所有的数据呢,全部都在memory catch或者NG上,那如果要是这个页面啊,没有展示出来,那是因为没有连上这个memory catch或者是啊,在memory catch或者red里边呢,压根就没有这个数据,拿到了一份空数据,那么。
02:19
这会儿有可能有可能就会报错,那一定要报错之后,我这会儿不应该去给用户展示出来错误的页面啊,即使有好的也不行,而是去进入补偿,补偿就是本来应该给的,那没有,那么接下来呢,我换一种方式给你。那么补偿的话,在这里边,呃,我们就可以去配置一些额外的逻辑了,那我们先看这个error配置怎么去,我们去个性化的去配置一下,那么首先第一个啊,就是这个配置。在这个后边呢,我们可以不去给他指定这个location,而是呃给它呃直接去呃做一个这个状态码的这个呃赋值,比如说你看我们在这儿给它配置,配置一个这个404的L配置。
03:05
就是404,就是找不着文件,这是最常见的一个错误,那接下来我可以给它等于301或者302,然后给它跳转到HTTP冒号双斜杠,呃,Ww.at硅谷。这是。啊,那同学们啊,这个配置你改完之后啊,你千万得注意在这中间啊,这不能有空格,你看了吗?这现在写了一个空格,如果你以空格的方式去保存,然后重启的话,这个一定会报错的,那个报的错误就不是这个什么四零四五百了,这这个四零四五百是我们能够handle住的,也是我们能够处理的错误。在报这种系统级别错误的时候,就是我的指令或者命令的错误,那这个在NG里边呢,就是那种那种就是属于那种crash就崩溃的这种感觉,那我们是控制不了的,那这呢不能有空格,另外就是这个。封号这个结尾的封号这儿也不能有空格啊,那我们接下来保存,然后我们重启一下服务器,我们看看这个效果。
04:06
重启完了。来先访问一下这个正常的我们这个节点,然后呢看看命令行,然后在这儿呢,搞一个404的错误。三个零,注意看这个,呃,我们的这个网络的这个控制台。诶,他给我们跳转到了3W硅谷的首页。来再看这第一个,我们返回的确实是三个零,对不对,然后接下来它给我返回了302的这么一个跳转错误,跳转到了这个II的硅谷点com啊,这就是我们去控制了一下呃,404错误,那我们在控制这种404错误的时候呢,其实是比较灵活的,有很多可以去配合和组合的选项,那么刚刚呢,是呃,重新设置了它的状态码,给它变成了302,那么后边跟的是这个URL,因为3030几,301 302这些都是后边需要配一个新的这个location,要给这个浏览器让他去跳转的,对吧?那么在这呢,还可以额外的给它配成这个200。
05:10
啊,让他返回正常正经的这个,呃,页面就是真正发生了404啊,因为那个也不给你报错,也不给你跳转,有很多网站啊在这个呃。你你找不着资源的时候,它会给你提示一个比较友好的页面,而不是系统的那个错误页面,那我们现在在这儿呢,给它改一下,比如把它设置成200,然后让它呃返回到我的某一个页面上,那我在这儿呢,可以指指定一个location啊,在这儿就是让它返回到401上。来给它粘回来,这也要注意,这还是这不能有空格,这也不,这后边也不能有空格,一旦有空格会出现什么效果,来我给你看一下。首先是这个系统报错了对吧,然后在这儿你看这个报错呢,是在这儿报的。这没有问题,然后我们再看啊。
06:03
现在虽然说没有报错,对吧,然后我们再看。101对吧,这是正经的正常访问,这是错误访问对吧,然后他直接给我们跳转到了哪儿这个,呃。非法请求,你不要以为这是个报错,这就是这个401那个页面,你看下面状态码就能看明白了,返回的是200啊,然后这个。具体的内容呢,是从我们磁盘上加载出来的,然后这个我们的配置呢,这儿好像有一个空格啊,就可能这个版本没问题了,因为我记得以前这个后边也是不能有空格的啊,如果这有空格它也会报错啊,反正现在它没有报错,正经情况下这是不能有空格的啊,然后这个页面呢,看起来好像是这个报错的页面,那么找一下这个401,它现在在这儿对不对?那么打开这就是这个报错啊,然后现在呢,我们给它改一改啊,这这个呃什么走。
07:07
走丢了是吧,然后在这儿。保存一下你看。诶,那是不是就访问到了我们刚刚给他指定的这个错误的网页了,对吧?当然啊,在这后边我们还可以直接去跟一个什么图片啊,或者什么其他这些东西都可以,但一般来说我们都是会用网页去给人家去展示的,对吧?那如果要是这个,呃,我们是这个。APP的话对吧,那如果他访访问的是一个Jason的接口,那我们在这里边呢,就不就可以去给他返回这个。一个这个报一个油耗的报错的Jason数据啊,这是呃,我们去指定到一个具体location,并且把这个状态码给改了,那之前是404,现在变成200,表示让浏览器呢,你别以为这是一个错误。一切都在我的控制当中,然后在这页面里呢,我们再去加一些什么刷新啊,或者返回首页这一类的操作。
我来说两句