使用Nginx+IIS的部署方案实现负载均衡

使用Nginx+IIS的部署方案实现负载均衡

这段时间一直在研究负载均衡问题,用家用电脑搭建了个Nginx+IIS的负载均衡部署,算是个入门级别的说明吧,因为是测试简化版本的部署方案搭建,所以使用的是测试业务。在文章初期我先明确一下问题:

1、负载均衡是什么?

2、为什么使用负载均衡?

3、处理负载均衡还可以有别的优化方案吗?

4、什么时候必须用负载均衡?

下面我依次回答这些问题:

问题1、负载均衡是什么?

百度百科给负载均衡的定义是,负载均衡是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。示意图如下:我换句简单理解的话说就是,当一台服务器完成一个业务出现性能问题时让两台服务器同时完成这个功能就好了。

问题2、为什么使用负载均衡?

负载均衡主要是为优化服务器而使用的,一台服务器的性能始终是有限的,就像一个人再有劲也不可能和100个人同时拔河一样。

问题3、处理负载均衡还可以有别的优化方案吗?

负载均衡可以理解为一个业务节点的水平扩展,读者看待水平就想到垂直了吧,对。其实我在对服务器集群进行性能优化的方案上也是秉承一个优化原则。在有服务器的大前提下,(当然单位要是不给机器那什么都白搭),可以根据业务进行垂直切割。和朋友聊天室很多人都问题怎么进行优化,我会一直会反问,你的业务是什么不同业务的垂直分割方案是不同的,垂直分割没有一刀切似的优化方案,只有针对业务服务分割方案。

问题4、什么时候必须用负载均衡?

在针对单个业务服务节点时,当不能在优化服务业务时,就必须要水平扩展了,也就是必须要使用负载均衡的时候了。

好,说了这么多铺垫负载均衡的文字,下面不罗嗦了,说点主题。

我们按照一下4个步骤后进行说明:

1、获取Nginx,并试运行。

2、发布两个IIS服务节点,服务节点A和服务节点B。

3、使用Nginx充当反向代理服务器,设置服务器集群。

4、测试服务节点A,测试服务节点B,测试反向代理服务器。

步骤1、获取Nginx并试运行。

去Nginx官网http://nginx.org/en/download.html,下载Nginx的windows版本,我下载的是1.11.10版本,如图所示。

解压nginx-1.11.10.zip文件,打开命令行进入到Nginx目录下:

使用start nginx命令打开:

进程中多了两个Nginx进程如图:

Nginx配置中的默认端口是80,我们可以在\conf\nginx.conf配置文件修改为5000。

下面重启Nginx:

查看Nginx开始界面:

步骤2、发布两个IIS服务节点,服务节点A和服务节点B。

使用IIS创建两个服务站点,

为了方便区分,第一台服务器我们设置为服务器A,端口为50001,如图。

第二台服务器我们设置为服务器B,端口为50002,如图。

步骤3、使用Nginx充当反向代理服务器,设置服务器集群。

我们打开\conf\nginx.conf配置文件,添加一个服务器集群的配置,使用upstream节点设置一个服务器集群Jiqun_one,端口50000,跳转的权重分别为1。

然后在Locaition节点中设置集群名称,设置主机头和客户端真实地址。

步骤4、测试服务节点A,测试服务节点B,测试反向代理服务器的跳转。

设置好开始测试啦。进入集群的地址,先看到服务器A,端口50001。

刷新几下后,见证奇迹的时候到了,突然,yes,服务器B,端口50002出现啦。

时间: 2024-08-06 01:19:51

使用Nginx+IIS的部署方案实现负载均衡的相关文章

Nginx反向代理、缓存、负载均衡服务器构建

代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理. 反向代理服务器接受来

Keepalived+Nginx实现双主高可用负载均衡

Keepalived+Nginx实现双主高可用负载均衡 一.部署Nginx+keepalived高可用有两种配置方案: 1.Nginx+keepalived 主从配置 前端使用两台机器,使用一个VIP,即其中一台为主负责全部请求,一台为备,只用在主出现故障时,才会替代主处理请求,平常处于闲置状态,此方案不够理想.  2.Nginx+keepalived 双主配置 前端使用2台机器,使用两个VIP,互为主备,不考虑其他情况时均衡处理请求,当其中一台机器出现故障时,另一台负责处理对两台机器的请求,此

Linux之部署Tomcat及其负载均衡

Linux之部署Tomcat及其负载均衡 一.案例 案例要求 1. 在1.10和1.20上分别部署tomcat服务,并创建java的web站点.在本机上分别验证是否能访问创建的web站点(如http://192.168.1.10:8080/index.jsp) 2. 在1.100的主机上部署nginx服务,修改主配置文件,实现nginx为前端,tomcat为后端的负载均衡的功能. 3.在client主机访问nginx服务器,验证是否能实现负载均衡. 二.开始部署 1.环境配置 (使用Vmware

Nginx + Memcached 实现Session共享的负载均衡

session共享 我们在做站点的试试,通常需要保存用户的一些基本信息,比如登录就会用到Session:当使用Nginx做负载均衡的时候,用户浏览站点的时候会被分配到不同的服务器上,此时如果登录后Session就在不同发服务器上,A记住了用户的登录状态,可是下一次用户请求被分配到B去了怎么办?不可能让用户再登陆一次.所以要实现session共享. 方法 1.ip_hash,这是Nginx的轮询方法,用户登录站点时,就会一直在这台服务器上就不存在Session的问题 优点:不需要采用任何处理: 缺

office web apps部署,配置https,负载均衡(四)安装office web apps相关软件

前提条件: 1.一台windows server 2008R2服务器,并且已经配置了域: 服务器连接域控制器的相关文档,请查看上一篇文章:office web apps部署,配置https,负载均衡(三)服务器连接域控制器 2.相关软件地址 链接:https://pan.baidu.com/s/1TMCRyS4-_VAWxz236eG8zg 提取码:5xki 具体步骤: 1.用域账号登录服务器,同时配置安全策略,保证域账号有管理员权限,安全策略的配置,在office web apps部署,配置h

ASP.NET基于IIS反向代理实现Web负载均衡实战演练

一.课程介绍 随着公司业务的发展,后台.NET Web应用程序业务就变的越来越多,然而服务器的故障,时不时的汹涌而至,单点故障让我们防不胜防.由于客户访问量逐渐增多,单一个WEB站点(MVC.WebApi)响应越来越慢,由于我们的业务都是采用.NET Web应用程序部署托管在IIS上,那么如何实现我们流量的削峰谷平,应用程序的横向扩展,从而来提高单台WEB站点的吞吐量,降低了单台Web站点的压力. 这我们里决定采用微软的负载均衡解决方案,用两台WEB服务器供客户访问,这两台服务器提供相同的站点内

实践出真知——一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离

实践出真知--一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离 前言 ? 想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件.结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群. ? 对于直接想要实践的朋友而言可以获取本文的链接中的软件包后直接看第三备份的内容. 一.集群搭建结构及拓扑 1.1集群架构图示 Nginx+Tomcat集群的结构示意图如下: 1.2系统环境与

实战nginx前端反代mogfilefs及负载均衡

实战nginx前端反代mogfilefs及负载均衡 =============================================================================== 实验描述: 使用Nginx代理请求至tackers,实现通过键就可以访问到文件: 在配置nginx做反代将用户的请求调度至后端的MogileFS,此实验依赖于nginx-mogilefs-module模块,需在编译时加上此模块. 实验环境: 再准备一台CentOS 7的虚拟主机,来作为前

nginx+tomcat实现反向代理的负载均衡

nginx+tomcat实现反向代理的负载均衡 安装java环境 server12: [[email protected] ~]# sh jdk-6u32-linux-x64.bin [[email protected] ~]# mv jdk1.6.0_32/ /usr/local/ [[email protected] ~]# cd /usr/local/ [[email protected] local]# mv jdk1.6.0_32/ java [[email protected] lo