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;

}

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

最新文章

  1. finally回收资源
  2. 仿JQ基础架构,可扩展。
  3. JS 删除对象属性
  4. 通过代码获取res里生成R.java中的值
  5. [安卓] 19、一个蓝牙4.0安卓DEMO
  6. 关于css3的动画总结
  7. Android --自定义简单Toast
  8. Chrome不能登录和同步的解决方法
  9. JS实现 页面提交防刷新等待提示
  10. 输入一个字符串,去掉重复的字符,并按ASCII值排序-华为机试
  11. ORA-01045: user XXZY lacks CREATE SESSION privilege; logon denied
  12. VS2008SP1中CDialogEx的使用问题及解决
  13. 公司简介 - CCDI悉地国际-工程实践专业服务的引领者
  14. 【带着canvas去流浪】 (3)绘制饼图
  15. [蓝桥杯]PREV-26.历届试题_最大子阵
  16. Android JNI 学习(七):Accessing Fields Api
  17. /var/run/utmp文件操作函数
  18. Python 类方法
  19. IOS语法
  20. SOA面向服务的架构

热门文章

  1. Percona-Server-5.5.33二进制安装
  2. setInterval()与setTimeout()计时器
  3. AD,Group
  4. 遍历 TextBox控件
  5. PHP+Ajax 异步通讯注册验证
  6. Python设计模式——装饰模式(Decorator)
  7. unity3d游戏开发——新手引导
  8. mysql function 与 procedure
  9. gei shilei d
  10. 一些常用的jQuery插件