搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
转载:https://www.cnblogs.com/xiongze520/p/10308720.html
分布式,集群,云计算机、大数据、负载均衡、高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑心中会激动一番(或许这是判断是否是一个标准阿猿的标准吧)!
首先自己从宏观把控一下,通过上网科普自己遇到问题,然后再站在这些巨人的肩膀上解决问题。
问题:在大型WEB应用程系统中,由于请求的数量过大及并发的因素,导致Web系统会出现宕机的现象!
解决方案主要有以下几个方面:
- IIS负载均衡。
- 数据库负载均衡。
- 系统架构优化,比如:报表服务器和应用服务器的分离等。
接下来就是研究与解决,很简单首先捡个软柿子捏,根据常识以及方案排序,决定拿IIS来开刀。
两张图理解其中的业务流程
首先上网查资料nginx相关原理,文字性描述感觉很无聊,于是自己总结两张对比图,如下:
1、一般情况下(未使用nginx服务器流程):
2、使用nginx服务器后流程【注:本图以一级nginx服务器为例】:
根据这两张图对比,不难得出以下结论:
利用nginx管理起IIS服务器后:
- 可靠性大大增强:一台或多台IIS服务器宕机,服务不中断!细心的读者发现如果nginx服务器宕机那?当然可以通过配置多个及多级nginx服务器来解决。
- 处理大访问量时大大减小IIS服务器压力,提高访问速度。
- 消耗硬件资源多:多增加一台服务器(在数据量不大的时候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)
【配置Nginx】
使用文本编辑器编辑Nginx配置文件(到你解压的相对路径下面的conf文件夹下面的nginx.conf文件编辑)
进入修改主要修改四个地方,如图一一标注出来了(温馨提示:不要用记事本打开修改否则可能会乱码)
使用Dos命令进入Nginx文件夹并启动Nginx(这里以将Nginx文件夹放在D盘根目录下为例)
- 进入D盘: d:
- 进入文件夹:cd D:\nginx-1.4.7
- 开启nginx:start nginx
有个nginx的相关命令可到官网进行查看,或者百度也有很多。
【实现效果】
现在让我们一起见证奇迹吧!
打开浏览器,在地址栏中输入刚才在Nginx中设置的代理(这里是192.168.0.43:8888)
按F5刷新(大家如果有兴趣可以更改配置文件中Weight中的比例来看效果,我这里设置了2权重,也就是说第一个会分配的多一些):
【总结】
简单的部署一个服务器集群实现负载均衡是很容易的,但是运用到实战中就会有很多问题。
比如我们的session就是一个大问题,因为不同的iis之间session是不共享的,
导致我们项目的session会无效,这里小伙伴们有什么好的方法的。
小编想我们是不是可以做一个session服务器做共享,每个iis都经过session服务器,这样的话session就流通了。
具体效果如何我们等待分析。
搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡的更多相关文章
- 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑心中会激动一番(或许这是判断是否是一个标准阿猿的标准吧)! 首先自己从宏观把控一下,通过上网科普自 ...
- Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡 分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑 ...
- 架构之路:nginx与IIS服务器搭建集群实现负载均衡(三)
参考网址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 [前言] 在<架构之路:nginx与IIS服务器搭 ...
- 架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)
[前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下N ...
- Ubuntu系统中登陆阿里云服务器的方法
如果您购买了阿里云服务器,恰巧又在使用Ubuntu操作系统,那么恭喜你来对地方了,今天给大家分享一下如何在Ubuntu中登陆阿里云服务器: 主要使用两款软件:1.SecureCRT:2.SecureF ...
- linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程
linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程 1.安装好的nginx上添加模块nginx-http-fiv-module-master 此模块是rtmp模块的升级版,有它所有的 ...
- 如何将Windows7系统中“运行”历史记录全部清除
如何将Windows7系统中“运行”历史记录全部清除.. 如何将Windows7系统中“运行”历史记录全部清除 1.任务栏空白处按下鼠标右键,在右键菜单栏中选择“属性”, 2.切换到“开始菜单”选项卡 ...
- Nginx 与Tomcat 实现动静态分离、负载均衡
Nginx 与Tomcat 实现动静态分离.负载均衡 一.Nginx简介: Nginx一个高性能的HTTP和反向代理服务器, 具有很高的稳定性和支持热部署.模块扩展也很容易.当遇到访问的峰值,或者有人 ...
- Nginx的配置与部署研究,Upstream负载均衡模块
Nginx 的 HttpUpstreamModule 提供对后端(backend)服务器的简单负载均衡.一个最简单的 upstream 写法如下: upstream backend { server ...
随机推荐
- 深入理解Javascript中构造函数和原型对象的区别(转存)
Object是构造函数,而Object.prototype是构造函数的原型对象.构造函数自身的属性和方法无法被共享,而原型对象的属性和方法可以被所有实例对象所共享. 首先,我们知道,构造函数是生成对象 ...
- 重构--去除丑陋的switch语句
最近几天,在进行重构的时候,遇到了一个极其丑陋的代码(自己写的 /捂脸 当时时间紧,于是....),今天去重构的时候无论如何也想不出方法,去除这个丑陋的switch语句 ,于是写篇博客,让自己记住这 ...
- 大神的---解决tomcat内存溢出问题----tomcat报错:This is very likely to create a memory leak问题解决
tomcat memory leak解决方案 这种问题在开发中经常会碰到的,看看前辈的总结经验 Tomcat内存溢出的原因 在生产环境中tomcat内存设置不好很容易出现内存溢出.造成内存溢出是不一 ...
- Differences Between 3 Types Of Proxy Servers: Normal, Transparent And Reverse Proxy
What is a Proxy Server? A Proxy server is an intermediary machine, between a client and the actual s ...
- css实现类似heigth:100%的方法
1. 效果 2. 代码 2.1. Html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- qmake not exec in ubuntu
Description Today, I want to run qmake command in terminal, but, it has error message such qmake: co ...
- 循环结构之for循环
循环结构之for循环(一) 在很多编程语言中都有一种直接.简单的循环,它的一般形式为: 它的执行过程如下: 第一步:执行表达式1,对循环变量做初始化: 第二步:判断表达式2,若其值为真(非0),则执行 ...
- DSA 算法
一.简介 DSA算法是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard).它是一种公开密钥算法,用作数字签名. http:// ...
- java校验银行卡号
public class CheckBankCard { /* 校验过程: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如 ...
- 最大公约数(gcd)和 最小公倍数(lcm)——辗转相除法
辗转相除法(又称欧几里得算法)是求最大公因数的算法 要求a,b的最大公约数(a>b),我们可以递归地求b,a%b的最大公约数,直到其中一个数变成0,这时另一个数就是a,b的最大公约数. C++实 ...