nginx:软件负载均衡器  是高并发量http/反向代理服务器。实现windows下IIS的负载均衡

条件:2台服务器

1、cpu:Inter(R) 酷睿 i5 cpu 2.26GHz

内存:2G

系统:windows 7

IIS:IIS 7

nginx:nginx/windows-1.2.7

IP:192.168.2.123

环境:本地

2、cpu:Inter(R) 酷睿 i3 cpu 2.13GHz

内存:2G

系统:windows server 2003

IIS:IIS 6

nginx:nginx/windows-1.2.7

IP:192.168.2.124

环境:本地

注意:本次测试,软件nginx放在本地(192.168.2.123),也就是说放在域名绑定的那台服务器,这台服务器的IIS不能使用80端口,

因为等下nginx软件要使用80端口。

下载nginx的地址如下:

nginx下载:http://nginx.net/

本次测试使用的软件版本是:nginx/windows-1.2.7

下载解压到C:,把目录名改成nginx

时间步骤:

1、在本地192.168.2.123这台服务器IIS创建一个网站,使用端口号为8088。在远程192.168.2.124这台服务器IIS创建一个网站,使用端口号为8088。

两个网站都绑定相同的网站程序。

2、上面设置好两台web服务器的IIS后,下面配置nginx软件来做负载均衡集群。

打开C:\nginx\conf\nginx.conf

1.找到内容server{,在它的上面加入如下内容:

upstream  ym.com{

server 192.168.2.123:8088;#真实服务器A(ym-PC)

server 192.168.2.124:8088;#真实服务器B(ym-PC)

}

(该内容是:负载切换使用的服务器网站IP)

2.找到        location / {
            root   html;
            index  index.html index.htm;
        }

把内容替换成如下:        location / {
proxy_pass http://ym.com;
proxy_redirect default;
        }

3.找到server{

listen 80;

server_name localhost;

}

把内容替换成如下:

server{#Nginx代理服务器

listen 80;

server_name 192.168.2.26;

}

可参考下面的配置操作:

worker_processes  1;

events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; upstream wgf.com{
server 192.168.1.98; #真实服务器A(sxwgf-PC)
server 192.168.1.99; #真实服务器B(hzdk-vpc)
} server { #Nginx代理服务器
listen 8088; server_name localhost; location / {
root html;
index index.html index.htm;
proxy_pass http://wgf.com;
proxy_redirect default;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} }
}

(这是监听访问域名所绑定的那台服务器的80端口的请求)

4.上述已经配置好了负载均衡。接下来就启动nginx软件,

进入命令提示符CMD,进入c:\nginx,输入nginx命令就可以运行。

停止nginx运行,输入nginx -s stop 即可

5.经过以上配置,现在就可以看下负载效果了。

在本地192.168.2.123这台服务器打开浏览器,输入http://192.168.2.123/,不断刷新,会不断把请求负载到两台服务器上。这样,网站的负载就成功了。

官方说nginx的并发数是50000,实际生产中是30000左右比较稳定。如果网站访问量非常大,可以专门用一台高配置的服务器跑nginx,其他web服务器跑

网站程序,如此负载,就没有太大问题,如果再不行,把网站的一些功能栏目做一个2级域名,2级域名同样做负载,这样就更强了。

nginx软件在linux上跑,性能比在windows上跑要好,所以做负载均衡的服务器,最好用linux跑nginx,而.net开发的网站放到windows服务器的IIS上。

注意:1、找到本地机器的\WINDOWS\system32\drivers\etc,修改hosts文件,添加192.168.2.123   www.ym123.com   注释掉#host

2、找到远程机器的\WINDOWS\system32\drivers\etc,修改hosts文件,添加192.168.2.124   www.ym123.com

3、

upstream ym.com{

server 192.168.2.123:8088;

server 192.168.2.124:8088;

}

server{#Nginx代理服务器

listen 80;

server_name http://www.ym123.com;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
proxy_pass http://ym.com/;

proxy_redirect default;

}

通过以上步骤,就可以使本地和远程机器通过域名访问做实验,皮面实际域名的绑定。

采用软件nginx实现web服务器集群的更多相关文章

  1. Web服务器集群搭建关键步骤纪要

    前言:本文记述了搭建一个小型web服务器集群的过程,由于篇幅所限,系统.软件的安装和基本配置我这里就省略了,只记叙关键配置和脚本内容.假如各位朋友想了解各软件详细配置建议查阅官方文档. 一 需求分析: ...

  2. Nginx详解-服务器集群

    Nginx是什么 代理服务器:一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.  一个完整的代理请求过程为:客户端首先 ...

  3. Nginx+Tomcat+Terracotta的Web服务器集群实做

    1.准备工作两个Linux服务器,可以用VMware装一个,然后配置好再克隆一个,修改IP即可.Host1:192.168.0.79Host2:192.168.0.80先配置好jdk1.6.0和tom ...

  4. 使用简单的 5 个步骤设置 Web 服务器集群

    通过在多个处理器之间分担工作负载并采用多种软件恢复技术,能够提供高度可用的环境并提高环境的总体 RAS(可靠性.可用性和可服务性).可以得到的好处包括:更快地从意外中断中恢复运行,以及将意外中断对终端 ...

  5. web服务器集群(多台web服务器)后session如何同步和共享

    在访问量上去以后,很多人会采用web集群的方式在满足逐渐增长的用户量.这时候就不得不面对一个问题,那就是在多个服务器下,每次请求都会因为负载均衡而分配到不同的服务器上.用户在登录服务器后,下一次请求被 ...

  6. web服务器集群

    概述 集群和分布式都是从集中式进化而来的.分布式和集群会相互合作的,同时的集群和分布式.在这里重点说说集群 集群是什么? 集群能提高单位时间内处理的任务数量,提升服务器性能 有多台服务器去处理任务,但 ...

  7. web服务器集群session同步

    在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是 ...

  8. nginx的配置服务器集群,负载均衡

    在server{}前配置服务器ip和端口号 如: upstream local_tomcat { local_tomcat为访问路径,在下面配置服务器ip及端口号,也可以分配权重(weight==?) ...

  9. Linux服务器集群系统(四)--转

    引用地址:http://www.linuxvirtualserver.org/zh/lvs4.html LVS集群的负载调度 章文嵩 (wensong@linux-vs.org) 2002 年 5 月 ...

随机推荐

  1. elementary os进入GUI桌面环境失败

    问题描述:电脑上安装了elementary os,重启后系统很顺利的到达了Login图形界面,在选定用户并键入正确的密码后,电脑黑屏了一至两秒钟后又回到的Login界面,一开始以为是密码输入错误了,就 ...

  2. 【转载】C#后台声明式验证,远离if验证

    ViewModel public class ViewModel { [Required(ErrorMessage="标题不能为空")] public string Title { ...

  3. PHP扩展开发(1):入门

    有关PHP扩展开发的文章.博客已经很多了,比较经典的有: TIPI项目(http://www.php-internals.com/,强烈推荐) <Extending and Embedding ...

  4. js清空web用户控件的值

    假设你的用户控件里面有: <asp:DropDownList ID="DropDownList1" runat="server"> <asp: ...

  5. ACE 6.2.0 win7_64 编译

    Windows平台 ~ Microsoft Visual Studio 1)        下载ACE源码 ACE官方网址:http://www.cs.wustl.edu/~schmidt/ACE.h ...

  6. Python 守护进程

    import os import sys from time import sleep try: pid = os.fork() if pid > 0: sys.exit(0) # Exit p ...

  7. python AES 加密与解密

    #用aes加密,再用base64 encode def aes_encrypt(data): from Crypto.Cipher import AES import base64 key=setti ...

  8. GCC交叉编译链命名

    命名格式: arch[-vendor][-os]-abi arch:CPU的架构 vendor:工具链的供应商 os: 目标上运行的操作系统,不同的操作系统对应着不同的C库,例如 newlib.gli ...

  9. codeforces 390C Inna and Candy Boxes

    这个题目看似不是很好下手,不过很容易发现每次询问的时候总是会问到第r个盒子是否有糖果: 这样的话就很好办事了: 维护两个数组: 一个sum数组:累加和: 一个in数组:如果i位是1的话,in[i]=i ...

  10. 对 APM 用户的一次真实调查分析(上)

    一.前言 国内的 APM 行业这两年刚刚起步,但是在国外却比较成熟了,并且由于这两年人力成本的快速提高,国内外涌现了几家非常不错的 APM 企业,例如,OneAPM,APPdynamic,Dynami ...