码迷,mamicode.com
首页 > 其他好文 > 详细

nginx的负载均衡集群

时间:2015-12-01 13:03:51      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:nginx的负载均衡集群

[root@dir ~]# cd /usr/local/nginx/conf/vhosts/

[root@dir vhosts]# vim lb.conf

   upstream leco {
           server 192.168.0.153:80;
           server 192.168.0.158:80;
   }
   server {
           listen 80;
           server_name www.123c.om;
           location / {
           proxy_pass http://leco/;
           proxy_set_header Host &host;
          }
  }

[root@dir vhosts]# /etc/init.d/nginx restart
停止 Nginx:                                               [失败]
正在启动 Nginx:                                           [确定]
[root@dir vhosts]# ipvsadm -C
[root@dir vhosts]# iptables -t nat -F
[root@dir vhosts]# iptables -F

[root@dir vhosts]# curl -xlocalhost:80 www.123.com  -I
HTTP/1.1 200 OK
Server: nginx/1.2.9
Date: Mon, 30 Nov 2015 07:54:39 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 24 Jun 2015 18:10:52 GMT
Connection: keep-alive
Accept-Ranges: bytes

[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]#

技术分享

刷新一下

技术分享

再次刷新就会循环 222222slave和111111master

2、设置权重问题

[root@dir conf]# vim /usr/local/nginx/conf/vhosts/lb.conf

upstream leco {
              server 192.168.0.153:80 weight=2; #权重 为2 也就是两次访问权限
              server 192.168.0.158:80 weight=1;#权重 为1 也就是一次访问权限 
      }
      server {
              listen 80;
             server_name www.123.com;
             location / {
              proxy_pass http://leco/;
            proxy_set_header Host &host;
           }

   } 

技术分享

然后重启nginx,测试。

[root@dir conf]# vim /usr/local/nginx/conf/vhosts/lb.conf 
[root@dir conf]# service nginx restart
停止 Nginx:                                               [确定]
正在启动 Nginx:                                           [确定]
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave

测试会发现之前测试

3、测试nginx的切换

 停掉rs1的nginx,会自动访问到rs2的nginx

[root@rs1 ~]# service nginx stop
Stopping nginx:                                            [  OK  ] #stop rs1的nginx

[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave

已经自动踢出了rs1的nginx

此时恢复rs1的nginx

[root@rs1 ~]# service nginx start
Starting nginx:                                            [  OK  ]
 [root@dir conf]# curl -xlocalhost:80 www.123.com 

111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
111111master
[root@dir conf]# curl -xlocalhost:80 www.123.com 
222222slave

又自动回来了,之前设置的规则



注意:之前有个问题就是我curl的时候会访问我dir主机上的nginx默认的页面。后来我发现我的nginx的虚拟主机没有配置。

技术分享

nginx的负载均衡集群

标签:nginx的负载均衡集群

原文地址:http://caimengzhi.blog.51cto.com/9787265/1718407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!