使用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出现啦。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
巧用Zabbix自定义监控Mysql性能状态
环境是Centos6.5 x86_64系统 Zabbix版本:3.0.4 Mysql Server 版本:5.6.29 二进制安装 zabbix_agentd.conf的配置文件如下: [root@iZuf67iz9o3i4wixgtwybnZalertscripts]#cat/usr/local/zabbix/etc/zabbix_agentd.conf|grep-v'^#'|grep-v'^$' LogFile=/tmp/zabbix_agentd.log EnableRemoteCommands=1 Server=10.18.3.193 ListenPort=10050 ServerActive=10.18.3.193 Hostname=10.18.3.191 AllowRoot=1 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf UnsafeUserParameters=1 #下面两行是自定义的key UserParameter=mysql.slave,/usr/local/zabbix/share/zabbi...
- 下一篇
关于某些域环境下Windows Hello无法使用的解决方法
大家都知道Surface从Win8开始就自带有生物识别(人脸识别):Windows Hello! 有用户反映说Win10加入到企业域环境后,Windows Hello不能启用,提示:一些设置由你的组织管理! 可以看到Windows Hello/和PIN都为灰色不可用! 这时需要手动修改注册表,增加以下内容: [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System] "AllowDomainPINLogon"=dword:00000001 添加好后再进到设置里,可以看到两个选项按钮从灰色变为可以使用了! 原因分析: 因为启用PIN登录,在对应组策略,如下: 我们细看组策略说明:只支持2012以上服务器和Win8以上客户端操作系统! 因为电脑加入的域环境为Windows2008R2,不支持此策略,所以默认此功能是禁用,下面是Windows2008R2域控里的组策略,找不到此选项! 所以针对此环境下,用户如果要想使用此功能,必须手动修改注册表了,请将下面内容COPY到记事本,另存为.reg,导入即可! Windows Re...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装