利用Nginx做负载均衡

     最近正在研究Nginx,Nginx作为反向代理服务器,可以对Web服务器提供加速,并且具有负载均衡的功能。

     首先我要在官网下载Nginx(http://nginx.org/en/download.html),目前最新稳定的版本为1.0版本,Linux和Windows版本我都下下来了,在两台服务器上做网站负载均衡。

在Windows版本中,将压缩包进行解压,执行命令:

start nginx

这样就可以启动nginx服务了。而执行命令:

nginx -s stop

可以停止服务。

 

这是我在192.168.3.82的IIS服务器上,添加两个站点:

image

这两个站点分别添加两个文件index.html,两个文件内容分别显示:“这是站点1”,“这是站点2”。

在nginx.conf的配置文件调整相关配置:

upstream site { 
server 192.168.3.82:8040;
server 192.168.3.82:8041;
} 

server {
listen 8080;
server_name 192.168.3.82;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
proxy_pass http://site;

}
 
然后保存文件即可。

接着在运行一次start nginx,当你不断刷新页面的时候,浏览器上就会来回切换这两个站点。

image

image

可以发现这里切换是按照1:1的方式来回切换,通过配置文件你可以站点的权重:

upstream  site {  
     server   192.168.3.82:8040 weight=2;
     server   192.168.3.82:8041 weight=1;
}
weight即为对应网站的权重。

 

在Linux中,安装Nginx比较麻烦一些,因为需附加安装一些包,如gzip,pcre等等。具体可以查看:http://www.cnblogs.com/yuanermen/archive/2011/03/31/2000993.html

 

可以在Linux上部署你的站点,比如站点3,如果你要把Windows服务器作为反向代理服务器,那么在upstream site添加一个新的站点:

upstream  site {  
     server   192.168.3.82:8040 weight=2;
     server   192.168.3.82:8041 weight=1;
     server   192.168.3.90:8080;
}

你还可以利用Nginx对反向代理服务器上对静态文件(如JPG,GIF,CSS,JS等等)进行缓存,这样当你需要从Web服务器去请求静态资源的时候,可以直接从反向代理服务器上取得本地的一个资源,这样减少了对Web服务器的压力。具体可以查看:http://www.cnblogs.com/daizhj/archive/2009/11/03/1595292.html

 

posted @ 2011-04-15 17:34  Leepy  阅读(65120)  评论(15编辑  收藏  举报