00:00
这节课我们来学习一下N,先启动虚拟机。无界面启动,启动之后呢,远程连接。我们的服务器,我们的Linux系统之前。我们一直使用的QT进行的连接,今天我们来使用CMD。Windows的CMD命令也集成了SSH远程连接工具。嗯,只需要直接使用SSH,然后是用户名艾特服务器的地址。也就是我们虚拟的地址。好,回车之后。啊,之后让我们输入要登录的这个用户的密码。呃,输入密码之后就进入,就是远程连接到了这个Linux的系统。啊,这个可以不用了啊,所以我们在不使用这个PU使用Windows啊。自带的这个S服务,然后使用WINDOWS3D命令行也是可以进行一个远程连接的,现在把那个大小调大一点。
01:05
他到24。首先介绍一下。N。N是一个。高性能的HTTP和反向代理web服务器。它是一个清亮的外部服务器。它的特点是占用的内存少,并发能力强。事实上,NG的并发能力在同类型的网页服务器中表现的是比较好的。在中国的一些大企业,像百度、京东。网易、腾讯、淘宝等都使用了作为服务器。它最大的特点其实就是并发能力特别好。在使用。N之前先。检查我们的系统中有没有in。岗位。
02:01
可以看到这个系统已经装了一个NG1.18的一个。一个N,如果没有的话,你要进行要使用速度APP。因此套去安装NG啊,这个只针对于啊U版图系统。我们执行安装,它会告诉我们已经存在了啊,已经安装过了。稍微调小一点,有点大。啊,接着。查看一下NG状态。是不是正常运行。可以看到啊,是正常运行的,为什么要查看一下它的状态是否正常运行的,有时候啊,即使你安装了NG,它并没有自动运行,因为NG它要使用八零端口啊,有时候你的八零端口恰巧被别的服务给占用着,比如说。
03:04
阿帕奇啊,这时候我们如果看到NGX的这个状态不是正在运行的话,你要检查一下端口号使用速度list of。叫冒号啊八零,检查一下880端口有没有被其他应用力占用啊,如果是其他的应用在占用的话,再占用八零的话。啊,比如说阿帕奇或者其他的一些应用程序,我们可以啊,通过它的PID啊,把它给结束掉,或者通过这个一些。服务管理,把对应的服务给关闭掉之后再启动N,这就可以了。好。在安装完NS之后,我们来看一下它的目录结构。每一个就是不同的操作系统,NG的木质结构啊,有细微的一些差别,但大致都差不多,这里我们使用的是U关图,在使用apt-get in套。
04:01
安装了这个NG之后呢,它的配置文件是在ETCN这个目录下,我们LL看一下这个。目录下的一些文件啊,可以看到有有这么些文件。首先我们来看一下ng.com这个文件,是N这主配置文件,通过编辑这个配置文件,我们看看都有哪些配置项好。在这里面。啊,它指定了这个一个一个进程,指定了这个用户。啊,指定了,就是说NGS的用户。然后它包含了啊n g model新点com里面所有的一个配置。这个是呃,一个最大的连接数配置,接着开启了这个ATP服务,然后里面的是ADP服务相关的一些配置。在这里,它还包含了所有的这个mean types。好,接着往下看。啊,这是他的日志啊,正常的请求日志和错误日志的一个目录,接着往下走。
05:05
在最后啊,这里你看到是虚拟主机的一个配置,它包含了。啊, include ETC ncom.D里面的所有的配置。好,还包含了谁呢?包含了ETC sisters in里面的所有的配置,行那。也就是说啊,我们记好这三个包含了这个目录。也就是说实际上他把谁给包含进去了,把这个,哎,这里的这个模块,Model这个模块给包含进去了,还把谁呢?还把它给包含进去了,对吧,还把它给包含进去了,也就是说。啊,实际上我们生效的配置的目录呢,就这几个啊,就这几个。好。然后还包含了这个类型,接着我们一一介绍啊,这几个目录都是做什么的?首先看康复点滴,这里面一般放置了这个NGX的啊,我们用户自定义的一些配置可以看一下LL当前目录下。com点滴目前是空的啊,没有任何配置,如果我们用户有自己的一些配置,可以放到这个目录里面啊,这两个是fast c Di的一些配置。
06:07
好,这个是,呃,这个请求类型的,就是说支持的文档类型的一个配置,我们可以看一看这个文件。I me点。可以看到对吧,他支持了这么多类型的啊一些请求。好。L接着看。啊,接着看这两个文件夹,这两个文件夹呢,是呃,NG它。它的就是说一些额外的一些模块的一些配置。啊,我们可以看到啊。在这个主配置文件里面,它实际上包含的是这个音乐包啊,这个目录。啊,而这个目录啊,是做什么用的呢?我们进这个目录看一看。I查看一下,可以看到这里面并没有什么文件啊,这个是。啊,我们如果装了一些第三方的一些扩展的话,它就会放到这里面,那这个目录是做什么的呢?这个目录是啊,真正被我们n j com所包含的配置文件,也就是说在这里面呢,这个文件才会生效啊,这里面实际上也是放这个啊模块啊,跟这个下模块的一个。
07:21
啊,一个目录,那我们进这里面看看都是什么CD,大家看。好不,哎,可以看到。啊,这里面有一些都是软链接文件啊,文件类型是L,软链接指向的位置是这这个目录下面的。啊,某些配置。嗯,包括这个邮箱的一个模块的一个模块。好,这个是。我们实际是我们就是被加载的模块的一个配置啊,那为什么啊用软链接,而不是直接使用文件的一个原始的一个位置呢?这是因为比如我们想要停用某一个模块,我们只需要把这里面的软链接啊,把这里面的软链接给删掉。
08:08
就停用了这个模块。但是呃,我们又想要启用这个模块呢,再重新建立这个软链接就可以启用这个模块的,这样管理是比较方便的,那如果你直接使用原文件,好使用原文件,使用这个原始的一个配置,如果你不想使用这个模块了。那你怎么办?你是卸载了这个模块吗?还是说删掉这个配置,但是突然有一天你就想用了,你会发现你会费很大的劲才能找回来,对吧,要么重新安装,要么重新去啊,就说进行进行一系列的一些配置,对吧,所以我们把。啊,这个啊模块。啊,原始的文件不去动,而去使用的是它这个一个软链接文件,这样不需要的时候,我们去删除这个软接文件可以了,啊,所以它N它包含的。啊,这个所加载的配置,就是这个里面的软件的配置。
09:02
回到上一层目录来看一下,接着看一下啊,这两个是关于这个,这个是关于代理的一个参数的配置,接着看这两个啊,这两个其实。和它很类似啊,他们看他也是一对,这两个目录是做什么呢?这个是我们的虚拟主机的一个站点的配置啊,这个是我们虚拟主机的实际配置文件的啊,所在的目录,这个是虚拟主机啊,就是说被NG所加载的所使用的一个配置。我们通过看这个n com主配置文件,可以知道它加载的只有哪几个配置文件里面呢?就是哪几个目录,一个是它是吧,一个是它,再一个就是它,也就是说我们配置在sister available里面的这个。呃,里面的虚拟主机是不生效的,只有我们在这个里面建立了软连接才会生效。来,我们看一下CD的system available。L一下可以看到这里面有个defat是不是啊,我们在LL的上一级目录sister d看一看是不是。
10:05
这个里面它是有一个这个default一个软链接的,对吧,这个时候你看也是一样的思想,我们如果不想用这个网站了,我们只需要把这个软链接给删掉就可以了,这样原始的配置我们不用动,对不对?好哪一天想用这个网站了,我们再重新建立一个软件接就就可以了。啊,这样的成本是非常小的,管理网站成本非常小的。那如果啊,你硬要把这个啊,这个原始文件给删了。那你还要重新去配置很麻烦的啊,这也是他这两个目录的一个。啊,一个这个思想。来回到上一层,在目录结构啊,介绍完之后呢,我们接下来看一下这个NG的。啊,主要的一个应用虚拟主机。也就是说多站点的一个配置。那为什么要配置多站点呢?比如当我们有了一个服务器之后啊,为了不浪费服务器的资源,就可以在一个服务器上放置很多网站的一个项目。
11:02
他们共同使用八零端口啊,通过不同的so name来区分不同的这个网站啊,不同的项目。好,其实在实际的项目中呢,这个server name就是我们的域名。大部分的这个外部服务器,像阿帕奇啊啊,都是支持这个多站点配置的,就是为了不让我们的服务器的资源进行浪费,那我们如果服务器的成本是很昂贵的,如果我们一台服务器只运行一个项目的话,那成本真的太大了。现在我们来配置一下虚拟主机啊,虚拟主机的原始配置文件是在这个目录,我们进入到这个目录。玩吧。啊,之后呢,复制一份看下,现在只有一个default,就是N默认给我们的一个配置文件,对吧,我们复制一下这个配置文件cp default。嗯。改成。demo.test。好。需要权限。
12:01
这时候我们就多了这么一个配置,然后我们来修改它的配置。嗯,也是需要权限的。这些注释没有用,我删掉。来主要看一看它这个配置啊。这里是啊,监听了一个八零的一个端口啊,这些是SSL的一个配置啊。就是HTPS的一个配置,下面就是我们的网站的啊,就说网站源码的一个根目录,项目的一个根目录。这里面是就是说在它进入根目录之后,它能识别的一个入口文件,比如说index index index time2啊,像N默认的那个deft,它识别的就是它啊,也就是说这个目录下面有一个这个文件,所以就是出现啊,就是我们访问的时候给我们默认的一个啊,现在我们还可以访问下看一下,因为现在我们没有任何虚拟的站点,所以现在访问的话就是使用的是默认的一个NGS的配置192这样。
13:03
幺零八五六点幺零啊,可以看到这就是啊,NG默认的那个站点配置,也就是这个目录下的这个文件,实际上啊。好,这个就是so name也是我们的。啊,项目的名字。啊,实际的项目中呢,实际上就是我们的域名啊。啊,这是一个下面就是匹配规则了,比如说啊,所有的请求的一个处理的匹配的规则,啊,这个是PP的一个匹配的一个规则,它匹配的PP的结尾。嗯,接着往下看。好,下面的就。不怎么用着了啊。来。接着我们配置一个虚拟主机啊,我们配置个。把这些都删掉啊,默认服务器只能有一个,就是刚才我们的那个default它已经配置了这个,因为我们这个文件就复制了这个default的配置嘛,对吧,Default它里面已经使用了这个默认默认服务器啊,默认服务器也就是在我们一请求这个IP啊,请求这个IP啊执行的这个。
14:06
好啊,只能有一个default server,所以我们把这个删掉啊,我们的虚拟主机就不要有这个了,下面这个也删掉。那这个。APS暂时用不着啊,先删掉。嗯,项目的根目录我们换一个对吧,我们默认服务器使用的是htime目录,现在啊,我们去建一个DEMO目录。嗯,这个入口文件就这样吧。啊,入口文件就先先不动了。这些下面也不用改了。好。这些都不用改这些。实际上啊,我们要把server name给改掉啊,Server name改成我们的demo.test啊。现在就可以了,我们的一个虚拟主机就配置好了,它实际上啊,就是当我们一个请求过来的时候,比如说我们在浏览器中。
15:04
啊,请求这个test啊,DEMO。啊,Test的时候。啊,NGX会收到这个请求,接着它会匹,就是说匹配你的域名啊,去找对应的配置结果就是说找对应的server name等于我们请求的这个域名的。啊,它会匹配到,诶我们的就是说demo.test的这个域名啊,是等于这个so内是这个配置文件,它就会用这里面的一个配置,然后去找这个我们的项目根目录下面里面的入口文件来保存退出。嗯,保存退出。CTRLC下啊,保存退出之后呢啊。我们是在这个原始的这个配置里啊,这个原始的配置里面去啊,创建的这个文件,你看是这个目录对吧?Available ls一下在这里面去创建的它啊,如果想要它生效。
16:01
我们要建立一个软链接放到这里面啊,我们可以看一下,再看一下。回到上一层,回到当前的这个NGS配置里面编辑一下。编辑一下这个 Ng.com配置文件,可以看到它包含的是这个in乐报里面的配置,对吧?啊,所以说你要在这里面去建立一个软链接,我们刚才配置的虚拟主机才有生效。来。嗯。建立软连接啊,L-s ETC available我们的demo.test。啊,就是。建立软件业的时候啊,尽可能使用绝对路径。一直找到我们的DEMO test,然后链接到哪个目录呢?链接到ETC system的链接到这个目录,好,这时候我们LL看一下。啊,没有权限啊,没有权限。
17:00
那我们先看一下吧,先看一下这个sister in the啊,这里面现在只有一个是吧,好,现在。我们建立了连接,刚才是没有权限啊,我们要加个速度,好,现在已经建立完成了,再来看一下。这里面是不是就多了一个这个对不对,这时候这个配置就能被NGX啊所加载,这个配置就生效了啊在。创建完软件之后呢,检查一下NT配置是否正确,NGNX-T。啊。嗯,可以看到出现了一些问题。好。检查这个配置也是需要这个权限的啊。那他这里靠告诉我们了,权限不足。出现了success啊,就说明我们的配置是正确的,接着我们要重启我们的服务。
18:00
在Linux系统中啊,大部分的这个服务,你修改了配置文件之后,都是需要重启,重启才能生效的。来重启nja。也要输出权限重启NGX有三种方式,一种使用我们的service啊,这个服务管理命令NGNX,好。这样可以重启我们的另一个还有一种是速度啊,使用我们的这个SOS system ctl啊。Rest的NG也是可以的啊,还有第三种方式,使用NG自己提供的一个NG命令啊,你看刚才我们就在使用它的杠T去检查的配置,对吧?它还有一个呃,Reload reload也可以加上杠S参数平滑重启,这样不会影响正在运行的一个网站杠s reload。哎,重启之后呢,啊,我们这个配置是真正的生效了,那现在我们来访问。可以看到啊。Test。好。
19:00
现在还不能访问啊。呃,为什么不能访问呢?因为我们这个不是公有的一个域名,所以我们自己随便写的一个地方呢,它就说DNS解析不到,要去我们的呃,本机的hosts文件里面去。加上啊这个解析找一下C盘。Windows。三二。Drivers ETC啊,编辑一下这个host的文件。使用记事本也可以啊,如果你没有保存权限的时候呢,就说明这个文件的权限是啊被保护的,所以你要在这里属性这里去修改它的权限,在安全这里啊,然后编辑把这个所有人的权限都给勾上就可以了,如果你不能编辑的话。
20:07
啊,写上把IP改对,改成我们的。服务器的IP。产生我们服务器IP保存。之后现在再来访问。好,没有内容啊。这时候去。看一下我们的配置。I system available。DEMO。看看我们。的项目的目录是哪?是挖下面的DEMO,所以我们要去创建这个目录,并且在里面写上啊,Index,点他入口文件现在开始。CD到Y3W。贝克第。呆需要速度权限。
21:04
CD到DEMO vim,你耳太没了。拿喜路。一些内容。随便写个内容。Hello。嗯,这个是我们没有权限编辑啊,我们先先强制退出,然后加上速度,因为这个目录我们是登的普通用户啊,普通用户他没有在这个权限,在这个目录写出一个权限。Hello。我。诶,现在。现在这个里面看一下我们的目录啊,这个目录下就有了这个文件,而我们的配置呢,就会找这个目录里面的这个文件作为项目的入口文件,这时候他就不会说啊,找不到了,不会是404NOT放我们刷新就可以正常访问到你的虚拟站点了,而我们的啊,这个默认的服务器是这个站点,哎,这样的话,我们一个虚拟主机就配置好了。
22:19
好,如果要配置多个虚拟主机呢?还是就重复这样的一个步骤就可以去ETC跟目录system available这里面。去啊,复制这样的配置,去改一下server name。然后就说建立软链接到这个。到这个上一节目录的乐宝到这里面啊,最后重启按这个服务器,然后在我们的Windows上面呢,配好这个域名的一个解析就可以了啊,就可以在我们的Windows的浏览器中进行访问了。因为我们用的都是测试的,这个就随便写的一些啊域名,所以要自己手动去改这个house的配置解析,如果你是公网域名是不用配的啊,公网域名的话,他走这个DNS就可以自动帮你解析到IP。
23:09
嗯,接着。说一下。NGX的反向代理。首先啊,在说反向代理之前,先理先了解一下什么是正向代理啊。这记一下。正向代理。啊,正向代理呢,就是啊一个位于。客户端和原始服务器啊,中间的一个服务器。啊,就是为了从原始服务器去获取数据啊,客户端啊,先向中间服务器发送了一个数据。啊,然后呢,中间服务器呢,啊,再就是说把这个请求进行转转交,转交给这个原始服务器啊,最后原始服务器呢。把内容啊在。返回给代理服务器,代理服务器再返回给客户端啊,就这么一个的一个过程。
24:04
嗯,画图来理解一下。哎,画图写一下,比如这是我们的客户端啊,这是这是我们的这个目标的一个服务器,也就说我们想一下想向这里面去请求数据的话,但是可能有一些原因请求不到啊,比如我们就拿嗯。这个国外的一些网站来说啊,我们有时候直接请求国外的网站请求不到啊,这时候我们中间呢,可能还有一层。一个服务器,哎,这个呢。我们把它称为代理服务器。好,这时候。我们想。想请求他怎么办?可以先请求他,对吧,先请求他,由他帮我们把这个请求转发。代替我们请求这个啊一些就是说目标的一个服务器,国外的一个服务器,最后拿到数据之后呢,给这个代理服务器啊,代理服务器再给我们。啊,这么一个过程,就是一个正向代理的过程,而中间这个服务器就是正向代理服务器啊,多多见于像我们就是说为了访问一些国外网站啊,使用的一些这个那个socket啊,或者这个。
25:11
呃,那个VPN之类的好。那。稍微总结一下就是。喂,鱼啊。位于啊。客户端与。原服务器。啊是这个圆啊,就是目标服务器与目标吧,目标服务器。啊之间的。啊,一个服务器。一个服务器。啊。他主要为了解决一个,呃,这个这个什么问题呢,就是说解决。
26:01
啊,这个局域网内。啊,比如说某无法访问某些网络,可以通过这个,呃,正向代理。去实现特定的一些网络的一些访问。但它使用起来是比较比较复杂的啊,就说我们客户端还要进行一系列的配置,对吧,比如说像我们手微信的时候,还要使用输入这个账号和密码,进行系列一系列的这个验证才能使用啊。主要为了解决。啊,主要就是为了这个越过局域网。啊的防火墙啊。去嗯,实现网络访问,好,那接着来看反向代理。反向代理啊,和他刚好是啊相反的反向代理呢,是对于客户端而言。啊。对于客户端而言,我们这个返向代理的服务器就是原始服务器,也就说我们客户端直接向这个反向代理服务器啊进行请求,而这个我们这个反向代理的服务器呢,他经过一系列的内部的一些资源的一些分发,最终把结果反馈给客户端,这样的话在客户端是没有感知的啊,客户端就呃,好像就认为我请求了这个服务器,服务器给我了这个资源啊,是这样的么一回事。
27:23
好。嗯,来画一下图就比较明白了。假定这个是我们的客户端,好,这个是我们的代理服务器,这是我们的代理服务器。啊,用户啊,请求我们的请求,我们的这个反向代理的服务器,我们的这个反向代理服务器呢,会根据用户请求的这个不同的一些行为去给他进行可能啊一些这个相应的啊请求的一些转发,比如。啊,用户请求的是这个。啊,他要访问这个什么呢?要访问这个。这个这个。假定啊,用户比如说要访问啊。
28:03
啊,3000端口啊,提供的这个服务对吧,但是我们3000端口有可能我们这个服务器对外是封闭的,不开不开放,我们对外开放的只有什么呢?只有这个八零端口对不对,只有八零端口对吧?所以用户这时候可以通过这个八零端口啊来访问我们的服务,哎,在我们的这个这个服务器,这时候呢,我们就判断啊,用户可能要访问这个3000端口的这个数据,我们就进行一个转发。啊哎,这个比如说这是我们的3000端口啊,这是我们的这个80端口,八零端口,好,我们的服务器呢,就进行这个一个自己的一个判断,哎,认为他啊要请求3000端口,他就自己去,就说我们服务器内部把这个请求转化给3000端口,而3000端口提供完服务之后,再返回给客户端。哎,但对于用户来讲,他是没有感知,他就认为我请求了原服务器啊,服务器给我的数据,这就是反向代理的过程,反向代理啊多用于什么呢。能多用于这个,就是把我们这个服务器后面一些不对外暴露的一些服务啊,能让这个啊,提供这个给用户访问啊,比如说我们的这些内部的一些端口是吧。
29:09
好也可以实现什么,实现这个。啊,负载均衡,负载均衡原理其实也。比较简单,我们来看一看这个负载均衡的一个原理啊。首先还是啊一个客户端。啊,一个客户端,也就是用户啊,这是我们的服务器。好假定,嗯,有很多客户端吧,对吧,很多客户端这是我们的服务器,如果并发非常大的话,哎,我们的服务器可能是处理不来就有可能死机,这时候我们可以干什么呢?可以就是说。利用返乡代理啊,配置这个一个。呃,集群。那。实现一个负载均衡,怎么配置呢,比如说。啊,用户请求过来了是吧?哎,又一个用户请求过来了,又一个用户请求过来了,哎,我们这个反向代理服务器呢,我们不处理用户的请求,我们只负责这个请求的一个转发和分发啊,我们后面其实有很多集群的一个服务器啊,集群的一个服务器。
30:04
很多集群的服务器,然后哎,我会把这个用户按照一定的规则,比如说你的请求我给你转发到这儿,你的请求我给你转发到这儿,对吧,你的请求我给你转发到这儿啊,这时候他们福利这些集群里面的服务器来处理这个用户的一个请求,你看这样这样的话,我们的这个代理服务器,他的压力非常小,他只负责转发请求就好了,他不用去处理那些耗时的这些请求,对吧,也不用占用自己太大的系统资源,而各自的服务器储量之后呢,是直接返回给用户的。兄道们直接反馈给用户,一定要和这个正向代理区别哈,正向代理是怎么样,就是说不管是请求还是啊响应还是数据都要经过这个代理服务器,我们的反向代理是不用的,反向代理他只是起到了一个这个请求转发的一个作用啊,结果还是原,就是说服最终的目标服务器直接给用户的啊,用户也是无感知的认为,就是说哎,我请求了服务器,服务器给我了一个数据,就是这么回事,集群就是这么一个原理。好。来接着说一个,呃,在就说现阶段啊,使用这个NG比较啊,比较常用的一个一个。
31:07
一个功能也是利用反向代理来实现的,现阶段我们前端的项目啊,很多都是基于这个view或者react去写的,对吧,他们使用的node程序,但是。Node呢,我们一般啊使用的是这个,比如说3000端口啊,或者8000端口或者5000端口,而不是说让node直接去监听这个八零端口啊,当然也可以,你如果node你直接监听八零端口是是这样八零端口就被占用了,你这个服务器啊,其他的这个外部服务就用不了了,比如像N键它就用不了了,这样的话相当于你这一台服务器你就跑了一个项目,是比较耗费资源的,所以我们note的项目一般是啊。使用一个啊3000啊或者其他的一个端口啊,然后让NGX来做这个啊,进行一个反向代理,对外提供外部服务啊,就是说让这个note的这个服务作为一个我们系统的内部的一个服务,通过这个NX进行转发。我们来具体实现一下。
32:00
呃,首先安装一下这个note啊。我的GS。安装好之后回到我们的项目目录。创建一个node项目。需要速度权限。接着。在node项目。就说node项目里面啊,我们创建一个app.js文件。嗯,先保存退出啊,这个也需要管理员权限的。来写入我准备好的一个代码。不能粘贴啊。退掉。来关掉,还是用我们的QT这个终端还是。
33:01
呃,功能还是没有。就CMD开的终端还是没有第三方那些终端的功能好用,刚才没有粘贴上。啊,直接从那个加载吧。然后连接。接着去我们的佳木。请挑一下大小。去项目目录。我的note在下面。速度viapp.js创建一个JS文件。
34:00
接着写入我们的内容。写着我预先准备好的代码。啊,这个就是说这个代码的意思,就请求了attp模块,然后用attp模块的create server方法啊,创建了一个这个这个ATP服务,并且监听的是3000端口。来保存退出,这个时候我们使用note运行app.gs啊,可以看到这个服务已经运行在这个127.0.13000端口里面,对这是对于本机而言,它是运行在这个。127.0.1对本机的IP,但我们通过这个外网的IP是可以访问的192。五六点幺零要加上三三千端口号。啊,因为这里啊,这里我们监听的是3000端口嘛啊。好。但是我们来想一个问题啊,我们总不能让用户去啊,访问我们的项目的时候,说访问我们服务的时候还要加上3000端广法是吧,万一我们的不是3000呢,是不是我们希望的是让用户啊能直接啊,比如说啊no.test。
35:04
啊,就可以就可以直接访问到我们的这个。这个服务对吧,这个时候。我们可以干什么呢?可以啊,就是说配置一个N的一个虚拟主机,服务器名字就是node。点test,然后在这个虚拟主机里面呢,我们进行,嗯。啊,一个反向代理配置一个反向代理把这个。把这个这个。啊,请求转发给。这个服务可以吧,好,我们先把这个服务给终止掉啊,然后。嗯,让这个服务在后台运行,如果它不在后台运行的话,我们NGX做转发的时候也是转发不到的,后台运行加一个and for,可以看到它已经在这个PID的啊,这个进程下面后台运行了,这时候可以看一下,现在我们访问是正常访问的好。
36:01
接着去配置一下NG啊,CD的a cg X system,在这里面我们复制一个DEMO叫速度权限。到node.t。来编辑node.test,好,如果我们要配置这个作为它,让它作为一个反向代理服务器的话。啊,我们是,嗯,有些东西是不需要的,比如说项目的根目录肯定不需要了,对吧,因为我们的这个是作为代理服务器,它本身就并并不再去处理这个啊文件处理业务了,只是说把请求给转发给。啊,转发给这个3000端口的这个。Note服务啊,所以这些我们都不需要了啊。好像不让我们改,我们先。嗯,要加速度。啊,那这个就不要了啊,因为我们是作为一个正反向代理的服务器,是不需要项目跟目录的啊这些啊,也不需要入口文件。
37:08
对吧,这些搜内是肯定需要的,对吧,我们浏览器就是根据这个来识别的嘛,我们改一个。Not点啊。啊,下面的这些这些是不需要的这些。都可以删掉啊,包括下面的这些都可以不要好。嗯,这些也可以不要了。我们在这里面写,为什么在这里面写,因为这个它会匹配所有的请求吗?也就是说我们匹配所有的请求,在这里面进行转发,转发给我们本地的3000端口就可以了啊,这里面我们写什么呢?写这个啊。啊,HTTP。27.0.0.1冒号3000啊转发给他。
38:00
接着写什么呢?写这个。转发头部啊,Hea。抵押host host。嗯,接着转发。其他的头部。叉杠。搞IP。刀再写一个转发头部。Set header。X杠。啊,第一。第一点。For。
39:04
好,只要配置上这些参数就可以了啊,啊,最主要是这一行把所有的也是我们请求这个域名啊,这里匹配到我们的所有的请求进行一个转发,转发给本机的它就可以了啊,这里面是就是说在转发的时候进行了一些图形行为设置,保存退出之后,嗯,不要忘了建立一个软链接杠,S TC NJ available里面的no的点test建立到NJ system in the里面。远离接,嗯,需要权限。忘了下权限了。软链接建立完成之后啊,检查一下。在这杠。可以看到啊,已经建立完成了之后,检查一下配置是否正确,可以看到没有问题啊,没有问题,然后。
40:00
啊,重启NNGX-s reload。重启之后啊,我们再看一下我们的这个配置啊,我们配的是这个域名是吧,所以你要在你的本机啊,宿主机的ETC文件里面。就是说这个host里面要配上这个啊,一个解析啊,就是配上一个域名的一个解析,这因为之前我配过了,配上这个node.test的一个解析,解析到我们的服务器的这个域名,嗯。好,此时如果你这个已经这个也配好之后啊,就是我们hosts的文件啊,这个也配好之后呢,你再去这个。再去这个这个浏览器去访问我们的诺点台,诶可以可以看到和我们的这个192啊,这个3000端口呢,是一样的是吧,这是因为我们请求这个域名,它这个请求啊。因为我们请求八零端口嘛,会被NGX给适适配到。给匹配到NG。匹配到之后呢,他要去他所有的配置里面去找server name等于它的,呃,当然我们就匹配到了这个配置文件,对吧?匹配到这个配置文件之后,他再去检测,哎,你的所有的请求啊,发现你配置的这个代理啊,返向代理给代理到了这个端口啊,他就把这个请求进行转发,转发给这个端口,而这个端口进行服务,并且直接给我们返回这个数据。
41:21
好,这就是反向代理的一个应用。关于这个。服务器的一个集群啊,这里就不做演示了,大家有兴趣可以自己去啊试一下,其实服务器的集群和呃,反向代理的这个原理啊,都是一样的,也是啊,在请求的时候,我们把我们的请求转发给一个集群组啊,就不是就不是转发给这个IP了,这个是转发给一个集群的一个组啊,集群的组可以在哪配置呢?可以。在。啊,在这里啊。
42:01
在这里我们进行就是在这个server的这个外面。嗯,比如我先给大家稍微演示一下,然后有兴趣的话可以。去配置啊。这是一个只读文件啊,先退出。速度好。集群组在哪配置呢?在so上面啊,我们可以配置一个,比如说upstream啊。嗯,1.com吧。啊,这么一个集群组在里面呢,可以写上我们的就所有机器的一些IP啊,Server VR。幺九二点幺六。八点。啊,比如说五六点幺幺幺。分号。啊,有多少个你就写多少个啊,你有多台多少台服器集群你就写多少个,比如我现在写三台。
43:00
二三是吧,好,那这里就不再是说代理到这个3000端口了,而是代理到谁呢?把我们的请求代理谁呢?代理到这个集群组啊,这里的这个就写我们的这个集群组的一个名字。行吧。啊,这里就不是这样写了。啊,这里就。代理到我们这个集群组啊,这样的话,哎,我们的请求过来之后,他就会给谁呢,分配给这个集群组来处理。清楚了吗?啊,这里就不做演示了,有兴趣的话自己可以练练,我先全部撤回保存对数。
我来说两句