如何在CentOS/RHEL 7/6安装和配置HAProxy

时间:2019-05-19 01:26:32  来源:igfitidea点击:

HAProxy是一个非常快速和可靠的解决方案,高可用性,负载平衡,它支持TCP和基于http的应用程序。
现在大多数网站需要99.999%的正常运行时间,这是单台服务器无法实现的。
然后,我们需要一些高可用性环境,可以轻松地管理单服务器故障。

本文将在CentOS、RHEL服务器上安装HAProxy,并配置一个 4层负载均衡
它将基于IP地址和端口号平衡负载并将请求传输到不同的2台服务器。

install-and-configure-haproxy-on-centos

步骤1 -安装HAProxy

HAProxy包是可用的默认yum存储库CentOS,红帽系统。
使用下面的yum包管理器命令在系统上安装HAProxy。

sudo yum install haproxy

步骤2 -配置HAProxy

根据需要,更新你的HAProxy配置文件 /etc/haproxy/haproxy.cfg
我们也可以使用下面给出的配置文件作为设置和修改的例子。

vim /etc/haproxy/haproxy.cfg

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 debug
        maxconn   45000 # Total Max Connections.
        daemon
        nbproc      1 # Number of processing cores.
defaults
        timeout server 86400000
        timeout connect 86400000
        timeout client 86400000
        timeout queue   1000s

# [HTTP站点配置]
listen  http_web 192.168.10.10:80
        mode http
        balance roundrobin  # Load Balancing algorithm
        option httpchk
        option forwardfor
        server server1 192.168.10.100:80 weight 1 maxconn 512 check
        server server2 192.168.10.101:80 weight 1 maxconn 512 check

# [HTTPS站点配置]
listen  https_web 192.168.10.10:443
        mode tcp
        balance source# Load Balancing algorithm
        reqadd X-Forwarded-Proto: http
        server server1 192.168.10.100:443 weight 1 maxconn 512 check
        server server2 192.168.10.101:443 weight 1 maxconn 512 check

HTTP站点配置部分中,如果在 192.168.10.10的80端口上有任何请求,该请求将被重定向到192.168.10.100或192.168.10.101服务器的80端口。
类似地,在 HTTPS站点配置中,如果在 192.168.10.10的端口443上有任何请求,将被重定向到端口192.168.10.100或192.168.10.101服务器的443。

我们还需要根据系统配置对配置文件进行一些更改。

nbproc系统中处理核的数量。
mode http网站则是 http,https网站则是tcp
balance 负载均衡类型,比如 ‘source’, ’roundrobin’ 等

步骤3 -启动HAProxy服务

使用下面的命令启动HAProxy服务,也配置它在系统启动时自动启动。

systemctl start haproxy
systemctl enable haproxy