10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

摘要:
该解决方案主要包括以下几个方面:IIS负载平衡。数据库负载平衡。细心的读者会发现,如果nginx服务器宕机了?当然,它可以通过配置多个和多级nginx服务器来解决。它可以大大减轻IIS服务器的压力,并在处理大量流量时提高访问速度。消耗大量硬件资源:再添加一个服务器和N个IIS服务器!

分布式,集群,云计算机、大数据、负载均衡、高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑心中会激动一番(或许这是判断是否是一个标准阿猿的标准吧)!

首先自己从宏观把控一下,通过上网科普自己遇到问题,然后再站在这些巨人的肩膀上解决问题。

问题:在大型WEB应用程系统中,由于请求的数量过大及并发的因素,导致Web系统会出现宕机的现象!

解决方案主要有以下几个方面:

  1. IIS负载均衡。
  2. 数据库负载均衡。
  3. 系统架构优化,比如:报表服务器和应用服务器的分离等。

接下来就是研究与解决,很简单首先捡个软柿子捏,根据常识以及方案排序,决定拿IIS来开刀。


两张图理解其中的业务流程

首先上网查资料nginx相关原理,文字性描述感觉很无聊,于是自己总结两张对比图,如下:

1、一般情况下(未使用nginx服务器流程):

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第1张

 2、使用nginx服务器后流程【注:本图以一级nginx服务器为例】:

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第2张

根据这两张图对比,不难得出以下结论:

       利用nginx管理起IIS服务器后:

  1. 可靠性大大增强:一台或多台IIS服务器宕机,服务不中断!细心的读者发现如果nginx服务器宕机那?当然可以通过配置多个及多级nginx服务器来解决。
  2. 处理大访问量时大大减小IIS服务器压力,提高访问速度。
  3. 消耗硬件资源多:多增加一台服务器(在数据量不大的时候nginx也可与IIS共用一台服务器)与N台IIS服务器!不过在硬件成本不断降低以及高可靠性的今天,对于大访问量网站,这个影响几乎可以忽略不计。要不然也不会有这么多的用户比如国内的用户:百度,新浪,网易,腾讯等。

理解了nginx的逻辑后我们着手部署一个环境实战一下。


 实战部署集群实现赋值均衡

【准备工作】

  • 安装一款文本编辑器(这里以Notepad++为例,使用记事本打开文件有时会是乱码)
  • 下载Nginx(这里以Nginx-1.4.7为例,其他版本操作相同,下载地址:http://nginx.org/en/download.html
  • 建两个简单网页:使用vs建立四个简单的web项目)
  • 将上面建两个网页分别发布在IIS上不同端口号,并测试发布成功(IISNgNix1项目端口为8001,IISNgNix2项目端口为8002,IISNgNix3项目端口为8003,IISNgNix4项目端口为8004)

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第3张

【配置Nginx】

使用文本编辑器编辑Nginx配置文件(到你解压的相对路径下面的conf文件夹下面的nginx.conf文件编辑)

 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第4张

 进入修改主要修改四个地方,如图一一标注出来了(温馨提示:不要用记事本打开修改否则可能会乱码)

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第5张

使用Dos命令进入Nginx文件夹并启动Nginx(这里以将Nginx文件夹放在D盘根目录下为例)

  • 进入D盘:  d:
  • 进入文件夹:cd D: ginx-1.4.7
  • 开启nginx:start nginx

有个nginx的相关命令可到官网进行查看,或者百度也有很多。

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第6张

【实现效果】

现在让我们一起见证奇迹吧!

打开浏览器,在地址栏中输入刚才在Nginx中设置的代理(这里是192.168.0.43:8888)

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第7张

按F5刷新(大家如果有兴趣可以更改配置文件中Weight中的比例来看效果,我这里设置了2权重,也就是说第一个会分配的多一些):

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第8张


【总结】 

 简单的部署一个服务器集群实现负载均衡是很容易的,但是运用到实战中就会有很多问题。

比如我们的session就是一个大问题,因为不同的iis之间session是不共享的,

导致我们项目的session会无效,这里小伙伴们有什么好的方法的。

小编想我们是不是可以做一个session服务器做共享,每个iis都经过session服务器,这样的话session就流通了。

具体效果如何我们等待分析。

10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡第9张
欢迎关注订阅我的微信公众平台【熊泽有话说】,更多好玩易学知识等你来取
作者:熊泽-学习中的苦与乐
公众号:熊泽有话说
出处:https://www.cnblogs.com/xiongze520/p/10308720.html
创作不易,任何人或团体、机构全部转载或者部分转载、摘录,请在文章明显位置注明作者和原文链接。  

 

免责声明:文章转载自《10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在CentOS 7-8上安装PHP 8.0unity制作简单血条下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

boost asio 异步实现tcp通讯

---恢复内容开始--- asioboost 目录(?)[-] 一前言 二实现思路 通讯包数据结构 连接对象 连接管理器 服务器端的实现 对象串行化 一、前言 boost asio可算是一个简单易用,功能又强大可跨平台的C++通讯库,效率也表现的不错,linux环境是epoll实现的,而windows环境是iocp实现的。而tcp通讯是项...

Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流(超简单教程)

Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流(超简单教程) 原文链接:https://www.jianshu.com/p/eacfc0a9f2fd 话不多先森Y关注 12018.07.20 10:55:22字数 622阅读 18,545 成功运行!!​ 1.环境 开发环境:windows 开发工具:FFmp...

linux神技:screen命令管理远程会话

一使用场景 通常我们使用SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如爬虫、ftp 传输、文件备份等等。 通常情况下我们都是为每一个这样的任务单独新开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。 如果你不想...

会话、服务器ASP.NET中Session的用法by小雨

在写这篇文章之前,xxx已经写过了几篇关于改会话、服务器-主题的文章,想要了解的朋友可以去翻一下之前的文章 我们可以应用 Session 象对存储特定的用户会话所需的息信。当用户在应用程序的页之间跳转时,存储在 Session 象对中的量变不会除清,而用户在应用程序中拜访页面时,这些量变终始存在。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话...

Docker --Dockerfile(制作镜像)

Dockerfile Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义的镜像 Dockerfile 常用指令 FROM 作用:指定基础镜像,Dockerfile中FROM是必备指令,且必须是第一条指令; 格式:FROM <image>:[tag] FROM busybox LABEL 作用:设...

nginx配置phpcms v9伪静态规则 phpcms伪静态 404 Not Found

location / { if (!-f $request_filename){ rewrite (.*) /index.php; } rewrite ^/caipu-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=show&catid=$1&am...