共计 1919 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | HAProxy 是一个使用 C 语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于 TCP 和 HTTP 的应用程序代理。HAProxy 特别适用于那些负载特大的 web 站点,这些站点通常又需要会话保持或七层处理。HAProxy 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的 web 服务器不被暴露到网络上。 |
1. 安装 haproxy
CentOS 自带了 haproxy,但可能版本比较老。可以在 IUS 源上找到最新稳定版的 haproxy。
cat </etc/yum.repos.d/ius.repo
[ius]
name=iusrepo
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ius/stable/CentOS/$releasever/\$basearch
gpgcheck=0
enable=1
eof
yum -y install haproxy17u
以下是编译安装 haproxy-1.7.10 的过程。
编译安装 haproxy 时,可以借助于 pcre 环境,该环境下编译时借助正则表达式分析编译速度会快很多,但是没有该环境也可以安装。
yum -y install pcre pcre-devel
tar xf haproxy-1.7.10.tar.gz
cd haproxy-1.7.10
make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy USE_PCRE=1
make install PREFIX=/usr/local/haproxy
make 时需要使用 TARGET 指定内核及版本,版本如下:
- linux22 for Linux 2.2
- linux24 for Linux 2.4 and above (default)
- linux24e for Linux 2.4 with support for a working epoll (> 0.21)
- linux26 for Linux 2.6 and above
- linux2628 for Linux 2.6.28, 3.x, and above (enables splice and tproxy)
- solaris for Solaris 8 or 10 (others untested)
- freebsd for FreeBSD 5 to 10 (others untested)
- netbsd for NetBSD
- osx for Mac OS/X
- openbsd for OpenBSD 5.7 and above
- aix51 for AIX 5.1
- aix52 for AIX 5.2
- cygwin for Cygwin
- haiku for Haiku
- generic for any other OS or version.
- custom to manually adjust every setting
使用 ARCH 指定架构,不过 ARCH 选项可省。使用 USE_PCRE= 1 表示使用 PCRE 环境编译,加快编译速度。
编译安装完成后,只有 3 个目录:doc、share 和 sbin,sbin 里面只有一个 haproxy 的主程序 haproxy。为了方便管理 haproxy 服务,可以从 yum 安装的 haproxy 中复制 /etc/init.d/haproxy。
2.haproxy 命令
常用的几个:
# 检查配置文件语法
haproxy -c -f /etc/haproxy/haproxy.cfg
# 以 daemon 模式启动,以 systemd 管理的 daemon 模式启动
haproxy -D -f /etc/haproxy/haproxy.cfg [-p /var/run/haproxy.pid]
haproxy -Ds -f /etc/haproxy/haproxy.cfg [-p /var/run/haproxy.pid]
# 启动调试功能,将显示所有连接和处理信息在屏幕
haproxy -d -f /etc/haproxy/haproxy.cfg
# restart。需要使用 st 选项指定 pid 列表
haproxy -f /etc/haproxy.cfg [-p /var/run/haproxy.pid] -st `cat /var/run/haproxy.pid`
# graceful restart,即 reload。需要使用 sf 选项指定 pid 列表
haproxy -f /etc/haproxy.cfg [-p /var/run/haproxy.pid] -sf `cat /var/run/haproxy.pid`
# 显示 haproxy 编译和启动信息
haproxy -vv
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)