看到网上的负载均衡,一直都没有怎么看过,也不理解,今天从网上学着点在windows下用Nginx来试试:
我的os是windows xp ,用的web服务器时IIS5.1,用了两台同在一个局域网的电脑(分别装有IIS)作为web服务器(地址为192.168.1.68,192.168.1.57),为了测试是否把请求分到两个服务器上处理,则在两个服务器中使用了不同的网站默认页面。
首先从 http://sysoev.ru/nginx/nginx-0.8.21.zip下载njinx, 需要说明的是这个下载包是nginx 0.8.21开发版,换句话说其只能用于搭建测试环境等用途的,不能用于实际的生产环境(受限于windows文件句柄数限制)
下载并将该包中的文件解压到c盘上,为了配置使用方便,我将其解压后的文件夹名称从“nginx-0.8.19”改为"nginx”,这样我们只要将要负载均衡的站点在iis中设置好之后,将相应的链接地址放到nginx的相应配置文件中即可,这里我们打开C:\nginx\conf\nginx.conf文件,将下面的内容放到该文件的“server { ”上方行处:
upstream mylocalsite { //后端服务器
server 192168.1.68:88;
server 192.168.1.57:80;
}
因为nginx无法运行动态脚本,所以这里要使用proxy_pass属性进行代理,所以找到该配置文件的如下内容:
location / {
root html;
index index.html index.htm;
} 修改其内容如下:
location /
{
proxy_pass http://mylocalsite;
}
修改完之后,还要修改一下server的侦听端口,原内容如下:
server { listen 80;
server_name localhost; ……
修改完后的内容如下:
server { listen 8000; //自己随意设的
server_name 192.168.168 ; …… //可以是单独的另一台电脑,这里是njinx与一台web服务器在一台电脑上
这样,nginx就会在启动之后开始侦听本地IP(192.168.168)的8000端口请求,然后将其请求转向到mylocalsite(是一个随便起的名字) 中所指定的两个iis站点,并将执行的结果转发给客户端。如果一切配置正确,这时可以运行 c:/nginx/nginx.exe (或在cmd下运行“start nginx”),就可以在任务管理器中看到一个nginx进程启动了。(注:如果配置文件有错误,可以到C:\nginx\logs\error.log查看错误日志,进一步排错)。
注: 关闭ngnix的命令: nginx -s stop
配置文件ngnix.conf正确性判断的命令: nginx -t
仍有大量的内容要学,本文只是表面的小小的效果
待续。。。