天天看点

Nginx反向代理与负载均衡

集群

集群就是指一组或若干个相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。集群给用户的感觉就是一台服务器,而实际用户请求的是一组集群服务器。

负载均衡集群可以把许多客户集中的访问请求负载压力尽可能平均地分摊在计算机集群中处理。这样的系统非常适合使用同一组应用程序为大量用户提供服务的模式,每个节点都可以承担一定的访问请求负载压力,并且可以实现访问请求在各节点之间动态分配,以实现负载均衡。

负载均衡典型的开源软件包括:LVS、Nginx、Haproxy。

比如:当请求到图片文件时,可以配置Nginx为代理服务器,图片实际真实存放在Apache服务器中,在Nginx服务器上只需要进行配置Apache服务器的地址就行可以了。

由于博主硬件资源有限,只有一台租借的机器,我们就在这一台机器上实现Nginx的负载均衡,没错,你没有看错,我就是要在一台机器上搭建Nginx负载均衡器,两台web服务器。

这个不用说了,可以去看我的文章,编译LNMP环境

下面的配置是关于配置负载均衡器的,我们有两台服务器节点,虽然是一台机器,但是基于不同端口的web服务器节点。

(1)配置<code>123.206.176.159:8080</code>节点

(2)配置<code>123.206.176.159:8081</code>节点

看到这里,有同学应该会觉得为什么会建立4个项目,test1,test2,test3,test4,难道不是只应该建立2个项目吗?由于我这里是在一台Nginx服务器上进行的实验,所以为了实验结果不同,我建立了4个项目,分别在4个项目中新建了<code>index.html</code>,内容如下:

记住这里对应的应该是负载均衡服务器的IP地址,不是web服务器的IP地址哦,虽然我这里web服务器的IP地址和负载均衡器的IP地址相同。

Nginx反向代理与负载均衡

可以很容易的看出来,当我第一次访问<code>test1.com</code>的时候,端口可能是8080,当我们第二次请求的时候,端口为8081,负载均衡服务器默认采用轮询机制,然后我们分配的权重是1:1,所以一次请求是8080,另一次请求就是8081,然后一直重复下去。同理,当我们请求<code>test2.com</code>是一样的。

网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022