黑白色调网站,中国建设银行网站的机构,贺州网站seo,哪些有名网站是用php做的HAProxy 是一款免费、开源且强大的反向代理程序#xff0c;它为 HTTP 和 TCP 基础的应用提供了高可用性、负载均衡以及代理功能#xff0c;因此对于管理高流量服务器#xff08;或 Web 应用#xff09;来说#xff0c;通过将负载分散到多个节点服务器上#xff0c;它是一…HAProxy 是一款免费、开源且强大的反向代理程序它为 HTTP 和 TCP 基础的应用提供了高可用性、负载均衡以及代理功能因此对于管理高流量服务器或 Web 应用来说通过将负载分散到多个节点服务器上它是一个相当不错的选择。
既然 Nginx 反向代理也有类似的功能那我来告诉你为啥你可能更想选择 HAProxy。首先HAProxy 是一个专门的负载均衡器和反向代理程序在 SSL 卸载性能、详细的运行时统计信息以及更高级的负载均衡特性方面表现得更加出色。
Nginx 反向代理唯一的好处可能是配置起来相对简单一些这在某些情况下确实省事儿。但是对于复杂的环境来说依赖 HAProxy 才是明智之举。
在这篇指南里我会一步步教你如何在 Ubuntu 24.04 上安装和配置 HAProxy不过这些步骤同样适用于之前的版本比如 Ubuntu 23.04、Ubuntu 22.04 等等。
如何在 Ubuntu 上安装和配置 HAProxy
在开始安装和配置 HAProxy 之前你需要先了解一下云基础设施以及如何使用 HAProxy 作为负载均衡器。为了演示方便我设想了一个场景一位笔记本电脑用户访问了一台安装并配置了 HAProxy 的服务器该服务器随后将用户的流量转发给最不繁忙的服务器。
HAProxy 的工作原理
在这个场景中安装了 HAProxy 的服务器应该运行在 Ubuntu 系统之上至少需要 1 GB 的 RAM、20 GB 的磁盘空间和 2 个 CPU 核心另外确保你有该服务器的 root 权限或者至少有 sudo 特权。
准备就绪后通过 SSH 登录你的服务器并按照下面的指令来安装和配置 HAProxy。
第一步更新系统
这一步不是必须的但它能保证你的软件包列表和已安装的软件包都是最新的。
$ sudo apt update sudo apt upgrade -y第二步安装 HAProxy
由于 HAProxy 很受欢迎它已经在官方 Ubuntu 软件库中了你可以用这条命令轻松安装它。
$ sudo apt install haproxy第三步验证 HAProxy 安装
要确认 HAProxy 已成功安装可以通过运行以下命令检查其版本
$ haproxy -v检查 HAProxy 版本
第四步配置 HAProxy
为了配置你的主服务器以实现与其他节点服务器的负载均衡你需要在 _/etc/haproxy/haproxy.cfg_ 文件中指定前端服务器主要负责处理请求也就是你的主服务器和后端服务器处理那些请求即你的节点服务器的信息。
对于新手来说我会尽量简化这个过程。首先用你喜欢的文本编辑器我喜欢 Nano打开 HAProxy 配置文件。
$ sudo 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 # See: https://ssl-config.mozilla.org/#serverhaproxyserver-version2.0.3configintermediate ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets 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
为了配置 HAProxy 主服务器以管理和重定向过多的流量到两个额外的节点服务器监听 80 端口只需在最后一行粘贴以下模板并确保替换节点服务器的详细信息红色标记的部分。
frontend HAProxy_Server bind *:80 default_backend Apache_Web_Servers
backend Apache_Web_Servers mode http balance roundrobin server server1 192.168.1.102:80 check server server2 192.168.1.103:80 check
完成之后你的文件看起来会像这样
HAProxy 配置文件
保存并关闭文件。
在继续下一步之前最好检查一下配置文件是否有语法问题。
$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg检查 HAProxy 配置文件
第五步重启 HAProxy
现在是时候重启 HAProxy 服务以应用我们在配置文件中所做的更改了同时我们也会启用 HAProxy 服务以确保它在系统重启时自动启动。
$ sudo systemctl restart haproxy
$ sudo systemctl enable haproxy重启和启用 HAProxy 服务
如何在 Ubuntu 上安装 UrBackup [客户端/服务器] 系统
第六步检查 HAProxy 状态
最后检查 HAProxy 服务的状态以确保它正在无故障地运行。
$ systemctl status haproxy检查 HAProxy 服务状态
第七步配置防火墙可选
Ubuntu 默认预装了 UFW (Uncomplicated Firewall)所以如果你用它来保护网络记得允许 80 端口以启用每个服务器上的 HAProxy 流量。
$ sudo ufw allow 80
$ sudo ufw status在服务器上允许 80 端口
搞定现在你的主服务器已经配置好了 HAProxy它将会处理所有进来的流量并根据节点服务器的状态进行分配。
总结
在这篇文章里你学会了如何在 Ubuntu 上安装和配置 HAProxy 用于负载均衡但这只是冰山一角——HAProxy 还有更多的高级配置等着你去探索。想要更多指导的话强烈建议查阅它的 官方文档页面。
如果你有任何问题或疑问随时可以在评论区留言提问哦。