qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

负载均衡—实现配置篇(Nginx)

 首先我们来回顾下上篇的概念: 负载均衡 == 分身的能力。
  既然要有分身的能力嘛,这好办,多弄几台服务器就搞定了。
  今天我们讲的实例嘛…..我们还是先看图比较好:
  还是图比较清晰,以下我都用别名称呼:
  PA : 负载均衡服务器/WEB入口服务器/www.mydomain.com
  P1 : WEB服务器/分身1/192.168.2.3
  P2 : WEB服务器/分身2/192.168.2.4
  P3 : WEB服务器/分身3/192.168.2.5
  PS:首先我们学这个的开始之前吧,不懂防火墙的童鞋们,建议你们把PA、P1、P2、P3的防火墙关闭,尽量不要引起不必要的麻烦。
  首先 :PA、P1、P2、P3都安装了Nginx,不会安装的可以去官网查看教程(中文版教程、非常的牛X)
  1. 装完之后哈,我们先找到 PA 的nginx.conf配置文件:
  在http段加入以下代码:
  upstream servers.mydomain.com {
  server 192.168.2.3:80;
  server 192.168.2.4:80;
  server 192.168.2.5:80;
  }
  当然嘛,这servers.mydomain.com随便取的。
  那么PA的server配置如下:
  在http段加入以下代码:
  server{
  listen 80;
  server_name www.mydomain.com;
  location / {
  proxy_pass http://servers.mydomain.com;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
  }
  那么P1、P2、P3的配置如下:
  server{
  listen 80;
  server_name www.mydomain.com; 2. 有人就问了,我用其它端口行不行啊,当然也是可以的,假设PA的nginx.conf配置文件:
upstream servers2.mydomain.com {
server 192.168.2.3:8080;
server 192.168.2.4:8081;
server 192.168.2.5:8082;
}
server{
listen 80;
server_name www.mydomain.com;
location / {
proxy_pass http://servers2.mydomain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
  那么P1的配置如下:
  server{
  listen 8080;
  server_name www.mydomain.com;
  index index.html;
  root /data/htdocs/www;
  }
  P2配置:
  server{
  listen 8081;
  server_name www.mydomain.com;
  index index.html;
  root /data/htdocs/www;
  }
  P3配置:
  server{
  listen 8082;
  server_name www.mydomain.com;
  index index.html;
  root /data/htdocs/www;
  }
  重启之后,我们访问下,恩不错,确实很厉害。
  当我们把一台服务器给关闭了后。
  访问网址,还是OK的。说明:负载均衡还要懂得修理他(T出泡妞队营)
  3. 那么负载均衡如何保持通话呢?
  当然现在有好几种方案,我们这次只是讲一种。
  IP哈希策略
  优点:能较好地把同一个客户端的多次请求分配到同一台服务器处理,避免了加权轮询无法适用会话保持的需求。
  缺点:当某个时刻来自某个IP地址的请求特别多,那么将导致某台后端服务器的压力可能非常大,而其他后端服务器却空闲的不均衡情况。
  nginx的配置也很简单,代码如下:
  upstream servers2.mydomain.com {
  server 192.168.2.3:8080;
  server 192.168.2.4:8081;
  server 192.168.2.5:8082;
  ip_hash;
  }
  其实一切就这么简单,来赶快试试吧!
  4. 说了这么多,其实你有没有发现一个问题的所在,就是这么多服务器,他们共同需要的文件从哪里来?
  想知道如何解决,请继续关注:负载均衡 ---- 文件服务策略
  index index.html;
  root /data/htdocs/www;
  }
微信扫描,分享到朋友圈

posted on 2014-11-19 09:40 顺其自然EVO 阅读(200) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜