使用Nginx-upstream机制实现服务器负载均衡

       本内容的背景:现如今,一个网站或者系统面临着庞大群体的访问,服务器负载过高的情况时,一些公司的运维人员或者服务器的管理者,会考虑增加服务器的数量,使用服务器级群和负载均衡提高系统的处理能力,已解决服务器压力过大等问题。

       服务器负载均衡可以使用很多种方式进行实现,例如:DNS、IP报文、反向代理等。本文主要使用nginx的upstream机制来实现负载均衡。

       首先,我们要知道什么是upstream。upstream机制是事件驱动框架和HTTP框架的综合,他属于HTTP框架的一部分,又可以处理所有基于TCP的应用层协议(不限制于HTTP)哦。它不仅能没有任何阻塞的处理nginx和上游服务器的交互,还能够很好的解决一个请求、多个TCP连接和多个读写时间的复杂关系。

      言归正传,下面看看如何使用upstream来实现反向代理。由于没有真正发服务器,我采用了虚拟机搭建三台LAMP环境进行模拟操作,测试域名为:master.com (域名后期我进行了改动,不影响我介绍其他操作,请谅解),测试域名的配置Linux下配置 在 /etc/hosts 中。

三台服务器IP:

192.168.148.131  master (做为主服务器,进行分发操作) 

192.168.148.128  A服务器(做为提供服务的服务器)

192.168.148.130  B服务器(做为提供服务的服务器)

基础的需求我们完成,下面来处理nginx的配置问题,

第一步,我们要找到主服务器(master)的nginx配置文件(nginx.conf)

在配置文件中的http区域块中加入我们需要使用的upstream代码段,如下图所示:

第二步,我们需要在server区域中添加监听的端口和域名等操作,如下图所示:

  

     第三步:保存主服务器(master)nginx配置文件并退出,并重启主服务器的nginx 。

    第四步:配置真正提供服务的服务器(A、B)nginx的配置文件,在server代码段中添加,如下图:

    

  第五步:配置完成后,保存退出,重启A、B服务器的nginx。

所有配置完成后,我们下面开始做测试,看看是否完成了分发的操作,为了能够区分,我在A和B的index.html页面中进行去编辑,来看看结果吧,下面是分别几次进行的访问操作,

以上两张图,就是本次使用upstream机制搭建负载均衡的操作结果,搭建成功。

不过后期大家有木有发现一个问题,我的master主服务器只用来分发处理,没有提供服务,是不是浪费资源了呢?如果想master也进行服务在没操作呢?那么久继续看下去吧。

在master服务器中的nginx配置文件中添加如下配置:

第一步:

是不是发现了什么?为什么是8080端口呢,so、主服务器80端口用来监听负载均衡处理了,所以我们需要使用到8080端口哦~!

第二步:如上所述,80端口被占用,我们需要在再配置文件中重新配置一个server,如下图

注意哦,这个server是一个新的,不是刚才监听80端口的那个,不许重新配置一个哦,否则会有问题

第三步:保存并退出,重启nginx!

接下来测试,看看结果吧

 

ok,完成了,可以使用~~!!

希望能够得到大家认可,有什么问题可以留言指正哦,谢谢大家~~

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值