HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

whatfck 2017-03-08

主机环境  RedHat6.5 64位

实验环境  服务端1 ip 172.25.29.2

          服务端2 ip 172.25.29.3 

          管理端1 ip 172.25.29.1

防火墙状态:关闭

1.Haproxy的负载均衡及测试

A)负载均衡的配置

[root@server1 ~]# yum install haproxy -y            #安装haproxy

[root@server1 ~]# vim /etc/haproxy/haproxy.cfg      #进入主配置文件

  59        stats uri /status                #虚拟目录,后面的全标记,自己添加
 60 ##---------------------------------------------------------------------
 61 ## main frontend which proxys to the backends
 62 ##---------------------------------------------------------------------
 63 #frontend  main *:5000
 64 #    acl url_static      path_beg      -i /static /images /javascript /sty    lesheets
 65 #    acl url_static      path_end      -i .jpg .gif .png .css .js
 66 #
 67 #    use_backend static          if url_static
 68 #    default_backend            app
 69 #
 70 ##---------------------------------------------------------------------
 71 ## static backend for serving up images, stylesheets and such
 72 ##---------------------------------------------------------------------
 73 #backend static
 74 #    balance    roundrobin
 75 #    server      static 127.0.0.1:4331 check
 76 #
 77 ##---------------------------------------------------------------------
 78 ## round robin balancing between the various backends
 79 ##---------------------------------------------------------------------
 80 #backend app
 81 #    balance    roundrobin
 82 #    server  app1 127.0.0.1:5001 check
 83 #    server  app2 127.0.0.1:5002 check
 84 #    server  app3 127.0.0.1:5003 check
 85 #    server  app4 127.0.0.1:5004 check
 86 listen wen *:80                                #添加服务
 87        balance roundrobin#机制:轮叫
 88        server web1 172.25.29.2:80 check        #真正的服务端
 89        server web2 172.25.29.3:80 check        #真正的服务端

[root@server1 ~]# /etc/init.d/haproxy start          #开启haproxy

Starting haproxy:                                          [  OK  ]

B)测试

在测试之前,服务端1和服务端2要安装httpd,开启httpd服务,并且有不同的测试页。

[root@server2 ~]# /etc/init.d/httpd start

Starting httpd:                                            [  OK  ]

[root@server3 ~]# /etc/init.d/httpd start

Starting httpd:                                            [  OK  ]

开始测试:172.25.29.1/status (服务端1和服务端2httpd服务都开启

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

测试:172.25.29.1

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

刷新之后

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

当关闭服务端2的httpd服务时:

[root@server3 ~]# /etc/init.d/httpd stop

Starting httpd:                                            [  OK  ]

刷新之后,结果如图:(只有wed1运行,wed2停止)

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

当再关闭服务端1的httpd服务时:

[root@server2 ~]# /etc/init.d/httpd stop

Starting httpd:                                            [  OK  ]

刷新之后,结果如图:(wed1和wed2都停止)

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

2.Haproxy中将管理和负载均衡分开及测试

A) 将管理和负载均衡分开的配置

管理端要安装httpd,要有测试页,在/etc/httpd/conf/httpd.conf中将端口改成8080,不然会冲突。   

[root@server1 ~]# vim /etc/haproxy/haproxy.cfg #修改主配置文件

 86 frontend wen *:80
 87        default_backend app
 88 backend app
 89        balance roundrobin
 90        server web1 172.25.29.2:80 check
 91        server web2 172.25.29.3:80 check
 92        server local 127.0.0.1:8080 backup

[root@server1 ~]# /etc/init.d/haproxy reload#刷新

Reloading haproxy:

B)测试

开始测试(开启管理端、服务端1、服务端2的httpd服务)

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

访问172.25.29.1时,服务端1和服务端2再刷新前后交替出现。

当停止服务端2的httpd时:

[root@server3 ~]# /etc/init.d/httpd stop

Stopping httpd:                                            [  OK  ]

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

访问172.25.29.1时,只有服务端1刷新之后也不变。

再停止服务端1的httpd时:

[root@server2 ~]# /etc/init.d/httpd stop

Stopping httpd:                                            [  OK  ]

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

访问172.25.29.1时,出现管理端的测试页

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)

相关推荐