CentOS7安装和配置HAProxy
操作系统的版本为CentOS Linux release 7.6
准备源码包的版本为haproxy-1.7.8.tar.gz
- tar zxf haproxy-1.7.8.tar.gz
- cd haproxy-1.7.8
- make TARGET=generic
执行完毕之后,目录下出现haproxy的可执行文件
配置环境变量
为方便使用,可以进行环境变量的配置。在/etc/profile中加入haproxy的路径: export PATH=$PATH:/haproxy-1.7.8/haproxy 注意路径 最后执行source /etc/profile让此环境变量生效。
HAProxy配置文件说明
HAProxy配置文件通常分为三个部分,即global、defaults和listen。global为全局配置,defaults为默认配置,listen为应用组件配置。
global为全局配置部分,属于进程级别的配置,通常和使用的操作系统配置相关。
defaults配置项配置默认参数,会被应用组件继承,如果在应用组件中没有特别声明,将使用默认配置参数。
以配置RabbitMQ集群的负载均衡为例,在安装目录下面新建一个haproxy.cfg,输入下面配置信息:
创建配置文件haproxy.cfg
vim haproxy.cfg global #日志输出配置,所有日志都记录在本机,通过local0输出 log 127.0.0.1 local0 info #最大连接数 maxconn 10240 #以守护进程方式运行 daemon defaults #应用全局的日志配置 log global mode http #超时配置 timeout connect 5000 timeout client 5000 timeout server 5000 timeout check 2000 listen http_front #haproxy的客户页面 bind 192.168.72.128:8888 mode http option httplog stats uri /haproxy stats auth admin:123456 stats refresh 5s stats enable listen haproxy #负载均衡的名字 bind 0.0.0.0:5666 #对外提供的虚拟的端口 option tcplog mode tcp #轮询算法 balance roundrobin server rabbit1 192.168.72.128:5672 check inter 5000 rise 2 fall 2 server rabbit2 192.168.72.128:5673 check inter 5000 rise 2 fall 2 server rabbit3 192.168.72.128:5674 check inter 5000 rise 2 fall 2
启动命令:
/haproxy-1.7.8/haproxy -f /haproxy-1.7.8/haproxy.cfg
验证是否启动成功:
[root@localhost haproxy-1.7.8]# lsof -i:8888 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME haproxy 45031 root 3u IPv4 228341 0t0 TCP localhost.localdomain:ddi-tcp-1 (LISTEN)
在浏览器上访问http://192.168.72.128:8888/haproxy,输入配置的用户名和密码登录以后,可以看到如下画面:
访问测试,访问haproxy虚拟ip和端口,在12和13两台服务器上轮询切换,已经实现了负载均衡的效果