微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

 Nginx负载均衡集群

slb aide_941 28℃
 Nginx负载均衡集群
2016-01-21 21:34:26
标签:集群 负载均衡 Nginx
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://daixuan.blog.51cto.com/5426657/1737460
Nginx负载均衡集群
Nginx负载均衡功能实际上和nginx的代理是同一个功能,只是把之前的代理一台机器改为代理多台机器而已,nginx的负载均和和lvs相比,nginx属于更高级的应用层,不牵扯到IP和内核改动,它只是单存的把用户的请求转发到后面的机器上,因此,后端的real server不需要配置公网IP
一、配置环境
nginx分发器(一个公网192.168.101.230)
rs1内网IP(192.168.101.108)
rs2内网IP(192.168.101.109)
二、具体配置过程
[root@daixuan ~]# cd /usr/local/nginx/conf/vhosts/
[root@daixuan vhosts]# ls
default.conf  proxy.conf  test.conf
[root@daixuan vhosts]# vim lb.conf
upstream test {
        ip_hash;
        server 192.168.101.108:80;
        server 192.168.101.109:80;
}
server {
        listen 80;
        server_name www.daixuanlinux.com;
        location / {
        proxy_pass http://test/;
        proxy_set_header Host $host;
        }
}
[root@daixuan vhosts]# /etc/init.d/nginx restart
停止 nginx:                                             [确定]
正在启动 nginx:                                          [确定]
[root@daixuan vhosts]# ipvsadm -C
[root@daixuan vhosts]# iptables -t nat -F
[root@daixuan vhosts]# iptables -F
[root@daixuan vhosts]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address     Foreign Address   Stat    e   PID/Program name
tcp   0        0 0.0.0.0:3306       0.0.0.0:*     LIST   EN      2492/mysqld
tcp   0        0 0.0.0.0:80        0.0.0.0:*     LIST   EN      2947/nginx
2、rs服务器上
在http段加入以下代码:
[root@rs1 html]# vim /etc/nginx/nginx.conf
    server{
    listen 80;
    server_name www.daixuanlinux.com;
    index index.html;
    root /usr/share/nginx/html/;
}
[root@rs1 html]# cat /usr/share/nginx/html/index.html
rs1rs1
重启nginx服务
三、测试 nginx没有转发 ???
[root@dir ~]# curl -x192.168.101.108:80 www.daixuanlinux.com
rs1rs1
[root@dir ~]# curl -x192.168.101.230:80 www.daixuanlinux.com
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en”>
    <head>
        <title>Test Page for the Nginx HTTP Server on EPEL</title>
这个结果与cat结果一样,是dir的默认nginx页面
在浏览器访问www.daixuanlinux.com(已经添加host指向192.168.101.230)
红色标注的nginx的配置目录完全不是我的/usr/local/nginx/conf下,难道这个nginx不是我手动编译安装的nginx?事实就是这样,是不是很二逼,呵呵,找到问题就好
killall nginx
yum remove nginx
service nginx restart
一切正常
curl -xlocalhost:80 www.daixualinux.com
rs1rs1和rs2rs2轮流切换,Nginx实现了转发功能,实现了负载均衡

转载请注明:SuperIT »  Nginx负载均衡集群

喜欢 (0)or分享 (0)