Nginx负载均衡

原创 2017年07月24日 17:18:17

在大型网站中,负载均衡是有想当必要的。尤其是在同一时间访问量比较大的大型网站,例如网上商城,新闻等CMS系统,为了减轻单个服务器的处理压力,我们引进了负载均衡这一个概念,将一个服务器的压力分摊到几个服务器上,一方面减轻了宕机的几率,另一方面也使得宕机后还要其他服务器可以继续稳定运行,提高了系统的健壮性。

这篇文章将要介绍的主要内容如下:

  • 配置三台服务器

  • 分别在三台服务器上部署同样的服务代码

  • 使用Nginx实现负载均衡
我们的Nginx负载均衡器将部署在一台交互服务器上,配置与其他两台服务器的连接,所有的请求直接访问Nginx服务接口,然后Nginx负载均衡器将自行选择真实调用的服务器端口。

开发及部署环境

开发环境:Windows 7 x64 sp1 英文版
     VisualStudio 2017 
部署环境:阿里云 ECS实例 windows server 2012 x64
     IIS 7.0

所需技术

ASP.NET WebApi2

实现过程

使用ASP.NET webapi2 写一个简单地返回json的接口,为了展示我们调用的是不同服务器上的接口,我们以数字形式分别生成三个接口服务,并且分别部署到三台服务器的iis中。
public IHttpActionResult GetTest(){
	//throw new Exception_DG_Internationalization(1001);
	string ip = Request.GetIpAddressFromRequest();
	return OK("Test Api . Client Ip Address is -> "+ip+" The Server is ===== 333 =====");
}
我部署的三台服务器后面的数字分别是 111,222,333
注:return OK是本人自定义的返回格式,具体简单代码可以直接return Json();Request.GetIpAddressFromRequest();是本人扩展的获取ip地址的方法,具体实现请按自身情况实现。

系统测试

我们将三个后台代码生成后,分别部署到三个服务器上。
为了保密服务器信息,以下我的所有ip地址都将以ip_A,ip_B,ip_C来标识。


第三个是我们将要部署Nginx的服务器:

部署好后,我们进行Nginx的配置:

下载Nginx  http://nginx.org/en/download.html

然后解压到ip_C服务器,并打开conf文件夹下的nginx.conf


编辑内容如下


然后我们启动服务:

cmd命令切换到nginx的根目录下


这样,服务就算启动了... 吐槽一句,为什么不提示一句服务启动成功呢..欸,不人性化! 


然后我们打开任意一个接口测试工具,分别执行三次相同的请求:
请求一、


请求二、


请求三、


可以发现,我们每一次的请求,调用的后台服务接口都不是同一个,这样就保证了在大量客户访问同一个服务器地址时候,可以将一个服务器的压力分别分摊到几个服务器上,达到了负载均衡的目的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

nginx使用负载均衡进行压力测试得到的结论

nginx常被用于负载均衡,可能认为在使用它之后就可以提高访问网站的访问速度。因为有两台服务器,可以减轻服务器访问的压力。那么看一个测验。             在两台服务器的情况下使用负载均衡...
  • zq17865815296
  • zq17865815296
  • 2017年11月23日 21:28
  • 226

nginx负载均衡详解

1:什么是负载均衡负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最...
  • u013628152
  • u013628152
  • 2016年05月14日 23:47
  • 1577

nginx负载均衡例子

upstream指令启用一个新的配置区段,在该区段定义一组上游服务器。这些服务器可能被设置不同的权重,也可能出于对服务器进行维护,标记为down。 upstream gitlab { ...
  • wuxing164
  • wuxing164
  • 2017年06月23日 11:56
  • 87

Nginx实现负载均衡与Nginx缓存功能

目录 一、Nginx是什么二、Nginx实现反向代理 2.1 正向代理和反向代理2.2 nginx实现反向代理2.3 nginx实现负载均衡 三、tengine tengine实现...
  • fashion138
  • fashion138
  • 2017年12月04日 14:47
  • 90

【Nginx】实现负载均衡的几种方式

要理解负载均衡,必须先搞清楚正向代理和反向代理。正向代理与反向代理【总结】注: 正向代理,代理的是用户。 反向代理,代理的是服务器 什么是负载均衡当一台服务器的单位时间内的访问量越大时,服务器压力就越...
  • qq_28602957
  • qq_28602957
  • 2017年03月12日 11:59
  • 5118

Nginx的负载均衡 - 整体架构

Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd   什么是负载均衡   我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提...
  • zhangskd
  • zhangskd
  • 2015年12月12日 23:30
  • 14982

使用nginx实现负载均衡

本篇博客记录了一种可能是最简单的使用nginx实现负载均衡的方式。 首先,安装nginx。不同的操作系统的安装方式不太一样,请参考 install nginx 然后,修改nginx的配置文件。如果...
  • daguanjia11
  • daguanjia11
  • 2018年01月29日 18:33
  • 46

centos下nginx的负载均衡搭建(图文详解)

先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上...
  • qq43599939
  • qq43599939
  • 2016年06月23日 17:07
  • 1243

Nginx负载均衡

转自http://www.51yu.cn/post/18/ Nginx可以支持多种类型的反向代理,我们常用的大概就2种:1.普通的Http代理:  注意:在upstream中不要使用http://ba...
  • arau_sh
  • arau_sh
  • 2010年07月25日 22:15
  • 443

nginx负载均衡

nginx负载均衡: 配置文件: nginx.conf, 在http标签中加入   upstream myserver{ server 192.168.1.215:80 weight=4 ma...
  • terry_water
  • terry_water
  • 2013年12月05日 00:55
  • 897
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nginx负载均衡
举报原因:
原因补充:

(最多只允许输入30个字)