如何在 Debian 9 上安装 HAProxy

在本教程中,我们将向您展示如何在您的 Debian 9 上安装 HAProxy。对于那些不知道的人,HAProxy 是一个免费的 HTTP/TCP 高可用性负载平衡器和代理服务器。 它将请求分布在多个服务器之间,以减轻由单个服务器故障引起的问题。 HA Proxy 被许多知名网站使用,包括 GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter 和 Tuenti,并用于 Amazon Web Services 的 OpsWorks 产品中。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Debian 9 (Stretch) 服务器上逐步安装 HAProxy。

在 Debian 9 Stretch 上安装 HAProxy

第 1 步。在我们安装任何软件之前,重要的是通过运行以下命令确保您的系统是最新的 apt-get 终端中的命令:

apt-get update apt-get upgrade

步骤 2. 网络详细信息。

下面是我们的网络服务器。 有 3 个使用 Apache2 运行并在端口 80 上侦听的 Web 服务器和一个 HAProxy 服务器:

Web Server Details:   Server 1:    web1.idroot.us     192.168.1.101   Server 2:    web2.idroot.us     192.168.1.102   Server 3:    web3.idroot.us     192.168.1.103 HAProxy Server:    HAProxy:     haproxy                 192.168.1.18

步骤 3. 安装 HAProxy。

Debian 9 已经附带 HAProxy 1.7(撰写本文时最新的稳定版本),我们可以使用 apt-get 简单地安装它:

apt-get -y install haproxy

安装后,您可以使用以下命令仔细检查已安装的版本号:

haproxy -v

步骤 4. 配置 HAProxy。

我们必须修改HAProxy的配置文件,即 /etc/haproxy/haproxy.cfg 根据我们的要求。 (根据您的网络要求更改此配置)。 有关更多配置详细信息,请检查此 网址.

### nano /etc/haproxy/haproxy.cfg  global     log /dev/log    local0     log /dev/log    local1 notice     chroot /var/lib/haproxy     stats socket /run/haproxy/admin.sock mode 660 level admin     stats timeout 30s     user haproxy     group haproxy     daemon      # Default SSL material locations     ca-base /etc/ssl/certs     crt-base /etc/ssl/private      # Default ciphers to use on SSL-enabled listening sockets.     # For more information, see ciphers(1SSL). This list is from:     #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/     ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256::RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS     ssl-default-bind-options no-sslv3  defaults     log       global     mode      http     option    httplog     option    dontlognull     timeout connect 5000     timeout client  50000     timeout server  50000     errorfile 400 /etc/haproxy/errors/400.http     errorfile 403 /etc/haproxy/errors/403.http     errorfile 408 /etc/haproxy/errors/408.http     errorfile 500 /etc/haproxy/errors/500.http     errorfile 502 /etc/haproxy/errors/502.http     errorfile 503 /etc/haproxy/errors/503.http     errorfile 504 /etc/haproxy/errors/504.http  frontend Local_Server     bind 192.168.1.18:80     mode http     default_backend My_Web_Servers  backend My_Web_Servers     mode http     balance roundrobin     option forwardfor     http-request set-header X-Forwarded-Port %[dst_port]     http-request add-header X-Forwarded-Proto https if { ssl_fc }     option httpchk HEAD / HTTP/1.1rnHost:localhost     server web1.idroot.us  192.168.1.101:80     server web2.idroot.us  192.168.1.102:80     server web3.idroot.us  192.168.1.103:80  listen stats *:1936     stats enable     stats hide-version     stats refresh 30s     stats show-node     stats auth username:password     stats uri  /stats

由于您已完成代理服务器的所有必要配置,请在使用以下命令重新启动服务之前验证配置文件:

haproxy -c -f /etc/haproxy/haproxy.cfg

如果上述命令返回“配置文件有效”的输出,则重新启动 HAProxy 服务:

systemctl restart haproxy

步骤 5. 访问 HAProxy。

打开您最喜欢的浏览器并在 Web 浏览器中访问 IP 192.168.0.18(如上配置)上的端口 80,然后点击刷新。 您将看到 HAProxy 正在向后端服务器一一发送请求(根据循环算法)。

恭喜! 您已成功安装 HAProxy。 感谢您使用本教程在 Debian 9 Stretch 服务器上安装最新版本的 HAProxy。 如需更多帮助或有用信息,我们建议您查看 HAProxy 官方网站.