00:01
大家好,欢迎大家继续收看上硅谷的Linux云计算视频,我是刘川老师。那么我们这节课讲一下NG克斯关于反向代理的一个概念和实验,OK,那在讲反向代理之前啊,我们需要先来了解一下关于代理和反向代理两个概念的一个呃区别,OK,首先来看代理啊,我理解的代很简单啊。找别人代替你去完成一件你本身不能够直接完成的事情,比如说代购。你呢,这个不是特别,或者说没有资,就是没有这种条件,经常去国外,但是你还想要国外的那个产品,那就找代购帮你,一般我们理解为代替什么,代替客户的那个就叫代理。代替客户的那个叫代理,代替客户去完成什么什么操作叫代理。那什么叫反向代理呢?替厂家卖东西的人就叫反向代理,比如说烟酒代理啊,烟酒代理我们经常可以看到这个,在这个大街上有很多什么烟酒代理啊,什么某某酒厂的代理啊。
01:13
或者什么这个呃,什么什么什么很多的手机的那种店呀,卖手机的店啊,他们就是为什么厂家做代理,那代理的对象就是服务器端,OK,我们来看下边这个图啊。OK,一个客户呢,要去访问一个网站服务器,那他可以直接自己去访问。啊,这种就是客户端直连服务器,你只需要知道服务器地址就可以了,当然如果你访问不了服务器,你就需要找另外一个人帮你访问,比如说如果这个网站服务器是谷歌。对吧?请问你在国内能直接防止胡歌吗?对不起,不能,因为有个长城防火墙哎。
02:00
怎么办呢?有一些地方的人是能访问的谁呀?香港的服务器、澳门的服务器,中国大陆以外的其他服务器都可以防盗,那怎么办?我可不可以把我的请求交给中国大陆以外的其他服务器啊,然后让他帮我把请求交给谷歌,然后他请求到之后,他再把请结果告诉我,可不可以啊,可以,那这个服务器就叫代理服务器。啊,这个服务器叫代理服务器。OK,好了,我们再来说反向代理服务器啊,再说反向代理服务器。所有的反向代理服务器一般是用来帮助服务器处理请求的。啊,一般是帮助服务器处理行程的,第二个作用是为了隐藏真实服务器的地址,保护真实服务器的安全,啊,保护真实服务器的安全。那很多时候啊,我们这个服务器,如果他的地址直接暴露在互联网之后,很容易受到攻击,那这个时候我们伪装一下啊,我呢找他来接收用户请求,然后呢,让他把请求交给我们的服务器,让他来把这个用户请求交给服务器,这个时候请求还是他来处理,但是接收请求的是这个服务器,那这个服务器叫反向代理服务器,所以的反向代理服务器就是代替服务器工作的,就叫反向代理服务器,比较典型的就是NG是一个反向代理服器,以及后期我们讲集群当中的一个S。
03:21
啊,Squid啊,也是我们的一个反向代理服务器,OK,这是我们的反向代理服务器,而我们的代理服务器呢,Squ也可以做代理服务器,也可以做代理服务器,好了,代理和反向代理的概念就讲到这儿了。OK,那接下来我们就要做N几的反向代理了。N几反向代理那在另外一台机上安装阿尔法奇,并填写测试页面在N几服务器上。配置在某一个骚扰标签里边,配置一个代理啊,配置一个反向代理。然后呢,我们的N做。反向代理服务器就说N在前,N来处理用户请求,然后NG处理之后再交给后台的这个阿帕奇去处理,最终的用户请求就是。
04:05
那这个时候我们需要再开一个。负务器,那我们需要再开一个服务器,再开一个二。那800.2服务器呢,我们给他个装一简单装阿帕奇就可以了啊,简单装阿帕七就可以了。然后。连接一下。亚M-y install下htt。编写访问页面。并且。启动服务就可以了啊。
05:02
OK。然后我们来,呃,编写一下这个。Y3WHHTML下。VM写一个index.html的文件就可以了。这个叫什么呢?这叫3W点二零点com就可以了。ERV一下我们的httpd start一下。并且chk config。HTD一下设为KST好了,这个服务器搞定了,其他不需要做了。其实呢,这边按正常来说做实验,我们这边要搞一个LNMP环境的啊,但是没必要啊,那N做这个阿帕奇服务器的代反向代理服务器怎么做呢。VM,那VM编写一下我们的那个N几的配置文件。VMNG可。随便找一个就行。那么当我们访问这个博客的时候啊,当我们访问博客的时候,是访问那个阿帕奇服器,当只要访问博客服务器就是。
06:10
反向代理到那个阿帕奇佛像怎么办呢?在这个博客的server里边写一个location标签。啊,洗个开始没事勾一下。那标签内容这样。然后呢?Proxy pass啊pro pass指的是反向代理到哪个服务器HTPT19216888点,哎,这个是100,我们这个地方写二零就可以了啊,我们写二可以了。写下。这个注释啊,这个注释啊,删掉了啊。是容易出现问题。然后呢,改一下IP地址,这个地方IP地址是二零。
07:04
都缩进一下。推出检查配置员有没有问题。N钢铁。重启一下。好了。阿玛七重启好了,这个时候我们通过浏览器啊,别通就从就从这访吧,1LIX3W不是3W,是BLG点。At硅谷点。com。访问到的并不是之前那个什么博客,也不是那个博客点硅谷点com,而是3W20。啊,23~8.0,我们明明的,我们明明访问对象是谁啊,是85.10,但实际访问到的内容是85.20上的,那也就是说对用户而言。啊,对用户而言。他只知道自己把自己的请求交给8.10了,但实际上具体来处理这个用户群呢?是8.20,这就是反向代理服务器。也就是说,用户只知道他的请求交给他了,但并不知道真正给他处理用户请求,实际上这个服务器,这个服务器就叫反向代理服务器。
08:07
啊,这个服务器也发生在这个服务器啊。主要是为了保护后台服务器的一个啊。隐藏啊,真实安全的问题啊,再一个就是阿帕奇用来进行呃这种用户量请呃用户量请求的处理的话,并发比较低一些,而NG克能够处理的并发量比较高一些啊,所以这是为什么我们我们一般选用NG做反向代理的原因啊。这是一般选用NG做反向代理的原因。好了,这就是我们的关于反向代理的实验,那接着我们直接把负载均衡的实验,负载调度的实验讲一下啊。那其实这个概念其实已经涉及到我们后期讲集群的一个概念了啊,这个地方我们来简单的说一下,后期讲集群还要继续说啊,负载均衡俗称叫load balancer load balancer。其意思就是将任务分摊到多个操作单元上进行执行啊,OK,很不好理解的概念啊,看图。
09:02
上图这个图。这个我这个网站啊,这个用户量比较大。然后呢,嗯。都是一些这个PPT页面。然后呢,N几也就说一台NX不是可以处理很多用户型吗?是。一台确实可以处理很多,但是呢,恩克由于使用了fast c连接FPM,它呢,对于这个PP面的一个处理呢,不如阿帕奇稳定啊,也不是他安全,阿帕奇毕竟很多年了嘛,在安全安全方面,在这个什么方面都很优秀,所以说呃,动态处理上阿帕西很优秀,那我们一般情况下会把这种。呃,动态页面的处理交给阿帕奇那动态页面处理加阿帕奇那由于阿帕奇本身单个的性能比较低下,那想着同时处理更多的用户量,比如说我们有20万放量,一台阿帕奇只能访,只能处理5万个访问量,怎么办呢?我们需要部署四台阿帕奇。我们需要部署四台法器。
10:01
部署了四台八七之后,那到底用户来了之后请求哪一台呢?对吧,这这这个不好分啊,怎么办啊,我们找一个NGX作为反向代理服务器。这样呢,让恩把所有的用户请求都接收到他这来。让N把所有的介绍到他这来。然后呢,恩克斯在使用它的负载均衡模块,将所有接收进来的用户请求在什么。均分到后台的四台R7上。哎,我来分配你一个你一个你一个你一个你一个你一个你一个你一个,这样分配就可以了,那这个时候N几就。即使用了反向代理功能,又使用了负载均衡的功能。恩吉克斯的负载均衡是建立在反向代理和负载均衡两个呃技术的结合上,那两个技术的结合。那这个就是我们的这个,呃,负载均衡的模型,所以说你看这个时候就涉及到很多台服务器,就是即便少的话也得有两台阿帕奇嘛。看阿尔法七嘛,这时候大家会发现我们的这个搭建就难度就嗯。
11:03
相对提升了啊,一台N代一台两台霸那。就这样的模型,所以说这已经构成了一个集群的模型啊,这已经构成了一个集群的模型。OK,就这样一个模型。好了,那例如web服务器,FTP服务器啊,企业关键服务器等等啊,都可以来这样来操作,那我们默认一般使用RR轮询,轮询就是一人一个啊,我们可以怎么来做呢?首先准备两个阿帕奇服务器,我们已经准备好一个了,我们再去准备一个。理论上再准备一个外部服务,就是再准备一个阿帕奇服务器的话,另外那个阿帕奇的服务器的那个页面里,就是就是两个阿帕奇的页面内容得一模一样才行,为啥。这四个霸器服务器网页都不一样,张三请求被分配到六个霸器上,访问的是一,李四的请求被分,他访问是五。这个老王呢,分配过来,他是九啊。他分布出来是三,那这不乱套了吗。
12:00
啊,这不乱套了吗?他们的网页内容肯定一样,但是啊,我们为了能看出效果来,我们刻意的让他不一样,这样呢,就可以看得出来是他是一次把任务交给他,一次交给他,一次交给他,一次交给他。我们。刻意的通过这种不形成一样的方式来验证我们的负载均衡是可用的。OK,我们把三号机的。阿帕奇,给他装上啊。把三号机阿法七方,并且我们把三号机的这个。接一下,稍等。并且我们把三号机和二号机的网页的内容啊。刻意的给它写成不一样的,这样的话就看得出来啊,N几在进行这个负载均衡的时候,确实是呃。负载均衡到了两个服务器上,而不是写成一样的,看不出来到底是负载给谁了。
13:03
我们安装完成之后,我们需要先来修改网页VM一下,跟Y3WALL下的RDx.HTML这个上面就写3W点三零。.com。是为了突出它的不一样。其次是ser、非htpd star以及CHK菲HTB2。两个服务器搞定。然后再来说一下关于我们啊。负载均衡配置文件的编写,编写一下N配置文件。啊,编写一非人。这个反向代理呢,是不能删掉的,只不过是反向代理的内容变了啊。然后呢,其次我们要借助阿帕奇的一个模块,这个模块叫什么呢?叫upstream啊叫upstream。我们要声明一个什么呢,声明一个呃。服务器资源池啊,或者叫服务器池啊,服务器池,这个服务器池的名字叫BBS啊,这边或者叫BT都行啊,这服务器池都叫B。
14:05
然后在这个标签里边写上你有几个服务器,有几个服务器就写几个server server服务器一直加端口,Server服务器加端口。注意这个upstream这个模块要写到server,标签前有说要写到外边,写到server外边不能写server里边明白意思吗?Upstream写到server OK。分析一下。在四号外边编写,那就是在这个位置编写。小模的这个,呃。名字改成BG啊,OK。那里边儿的两个IP地址,一个是二零,一个是三零,给他改一下。这没问题了。
15:01
然后呢,反向代理位置写上你要访问的。这个地方就写反向代理道。BOT可以了。Upstream说明完之后,要在对应的serve里边啊,用location跟,然后用。Proxy pass的方式反向代理论,你刚才那个声明的upstream那个名字里边啊,刚才那个upstream里边是什么名字,就这就写成名字,当然这句话写完之后还不算完,为什么还要再加一句啊。叫X set harder。什么意思啊,就是设置一下我们反向代理的头部啊,反向代理的头部。这个地方主要是为了保证你在被返向代理到后台真实服务器上之后,如果点击其他页面的时候,这个请求的头部依然是反向代理服务器啊,应该是反向代理服务器。就是为了这个地方,这句话一定要讲。这句话不加,嗯。二级页面是点不出来了,二级页。
16:15
保存一下。GX钢铁。这个再给大家说一个问题,那就是括号,千万别给我括错了啊。这个括号是。这个括号。是这个location黑的,这个括号是这个location黑的,千万别把括号括号错了。不用C。URL吧。BLg.at。硅谷点。com。看到了吗?是不是120130120130120130。
17:03
看到了吗?因为我们访问的这个博客这点com对应的是我们这个幺零服务器,而把请求交给反向代理服务器之后呢,反向代理服务器将我们的请求转发给了2014,他你请你出理一次,你出一次,你出一次,你出一次,这就是负载均衡的概念。这就是负载均衡概念。更多的用户量处理不了,两个人处理但两个人,但是两个人不可能,对吧,对用户来说都告诉他,而是在用户不知情的情况下,把不同的用户分配到不同的服务项进行处理。OK,这也就是我们的反向代理的实验,那这种。开启并设置啊。88.10啊,100和两百两台主机,并设置两个阿帕奇不同的C面,为了看实验效果啊,重启测试就没问题了。啊,处理测试就没问题了。然后这个地方我们再补充一个算法啊,R算法是这个轮巡。
18:02
然后呢,R算法可以实现这个加权加权轮训啊。R算法实现加强的。一种新的算法,其实这个后期在我们讲这个集群的时候,集群当中会有更多的算法在里边啊。会更多的方案在里边,那这个我们就不去过多的这个,嗯。细讲了,后期讲激情的时候还会再说啊,OK。然后这个地方呢,呃,这个很简单,只需要在我们的这个呃,指定的服务器后边加一个权重就可以了啊加一个权重就可以。这个权重是一,就代表这个就是比例啊,比如说这个第一个权重是一,第二权是二,那就是访问第一个伏器一次,访问第二个浮器两次,如果是二,一就是访问第一个夫妻两侧缝,第二伏妻一侧,就这个意思,OK,我们加下权重试一下,这很简单。然后我们在那个upstream里边给它加一下权重,比如说第一个是二。一个是二。第二个是一。那访问的结果就是,呃。
19:01
二零出现两次,三零出现一次。然后呢,NG4刚提一下这认为没有问题,重启一下,一定要记着重启啊,OK,然后cul。blog.at硅谷点com。看到了吗?202030再来一次啊。看到了吗?两次2013年,这就。是权重的作用。OK,这就是轮训算法的作用啊。轮三合作用OK,那至此呢,我们的这个。NG克斯的反应代理和NG克斯的负载均衡就讲到这儿了,OK,那我们本节课就先到这儿,我们下节课再见。
我来说两句