• 推荐
  • 评论
  • 收藏

利用Nginx做负载均衡

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

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

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

1 start nginx

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

1 nginx -s stop

可以停止服务。

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

image

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

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

01 upstream site { 
02 server 192.168.3.82:8040;
03 server 192.168.3.82:8041;
04
05   
06 server {
07 listen 8080;
08 server_name 192.168.3.82;
09   
10 #charset koi8-r;
11   
12 #access_log logs/host.access.log main;
13   
14 location / {
15 root html;
16 index index.html index.htm;
17 proxy_pass http://site;
18   
19 }
然后保存文件即可。

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

image

image

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

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

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

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

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

你还可以利用Nginx对反向代理服务器上对静态文件(如JPG,GIF,CSS,JS等等)进行缓存,这样当你需要从Web服务器去请求静态资源的时候,可以直接从反向代理服务器上取得本地的一个资源,这样减少了对Web服务器的压力。具体可以查看:http://www.cnblogs.com/daizhj/archive/2009/11/03/1595292.html
作者:Leepy
 
邮箱:sunleepy(AT)gmail.com
 
    
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/Leo_wl/p/2043757.html