基于CentOS 7 部署社区版Haproxy

HAProxy是法国开发者 威利塔罗(Willy Tarreau) 在2000年使用C语言开发的一个开源软件,是一款具 备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支 持正则表达式及web状态统计。

目录

1、关闭Nginx服务

2、下载tar包并解压

3、安装基础命令及编译依赖环境

4、编译安装HAProxy

5、验证HAProxy版本

6、配置HAProxy启动脚本

7、启动haproxy

8、查看haproxy的状态页面

1、关闭Nginx服务

[root@node2 ~]# systemctl stop nginx

[root@node2 ~]# systemctl status nginx

2、下载tar包并解压

[root@node2 download]# wget -c https://www.haproxy.org/download/2.8/src/haproxy-2.8.1.tar.gz

[root@node2 download]# tar xf haproxy-2.8.1.tar.gz -C /usr/local/

查看INSTALL文档,安装步骤

3、安装基础命令及编译依赖环境

[root@node2 ~]#yum install gcc readline-devel

[root@node2 ~]# wget http://www.lua.org/ftp/lua-5.4.4.tar.gz

[root@node2 ~]# tar xf lua-5.4.4.tar.gz -C /usr/local/ #解压

[root@node2 ~]# cd /usr/local/lua-5.4.4

[root@node2 lua-5.4.4]# make linux test #编译安装

#查看编译安装的版本

[root@node2 lua-5.4.4]# src/lua -v

Lua 5.4.4 Copyright (C) 1994-2022 Lua.org, PUC-Rio

4、编译安装HAProxy

[root@node2 lua-5.4.4]# yum -y install gcc openssl-devel pcre-devel systemd-devel zlib-devel #下载依赖

[root@node2 lua-5.4.4]# cd ../haproxy-2.8.1/

[root@node2 haproxy-2.8.1]# cat INSTALL

#参考INSTALL文件进行编译安装

[root@node2 haproxy-2.8.1]# make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/lua-5.4.4/src/ LUA_LIB=/usr/local/lua-5.4.4/src/

[root@node2 haproxy-2.8.1]# make install PREFIX=/apps/haproxy

[root@node2 haproxy-2.8.1]# ln -sv /apps/haproxy/sbin/haproxy /usr/sbin/

'/usr/sbin/haproxy' -> '/apps/haproxy/sbin/haproxy'

[root@node2 haproxy-2.8.1]# tree -d -L 1 /apps/haproxy/ #查看生成的文件

/apps/haproxy/

├── doc

├── sbin

└── share

5、验证HAProxy版本

[root@node2 haproxy-2.8.1]# which haproxy

/usr/sbin/haproxy

[root@node2 haproxy-2.8.1]# haproxy -v

HAProxy version 2.8.1-a90123a 2023/07/03 - https://haproxy.org/

Status: long-term supported branch - will stop receiving fixes around Q2 2028.

Known bugs: http://www.haproxy.org/bugs/bugs-2.8.1.html

Running on: Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64

6、配置HAProxy启动脚本

[root@node2 haproxy-2.8.1]# cat /usr/lib/systemd/system/haproxy.service

[Unit]

Description=HAProxy Load Balancer

After=syslog.target network.target

[Service]

ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q

ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid

ExecReload=/bin/kill -USR2 $MAINPID

[Install]

WantedBy=multi-user.target

#启动服务

[root@node2 haproxy-2.8.1]# systemctl daemon-reload

[root@node2 haproxy-2.8.1]# systemctl start haproxy.service

Job for haproxy.service failed because the control process exited with error code. See "systemctl status haproxy.service" and "journalctl -xe" for details.

!!启动失败,因为默认缺少配置文件,无法启动

#创建自定义的配置文件

[root@node2 haproxy-2.8.1]# mkdir /etc/haproxy

[root@node2 haproxy-2.8.1]# cat /etc/haproxy/haproxy.cfg

7、启动haproxy

[root@node2 haproxy-2.8.1]# systemctl restart haproxy

如果启动失败的案例:

第一种:

解决:查看80端口是否占用,占用就停止

再重启haproxy服务

第二种


解决: 提示没有软链接,就创建软链接

再次重启haproxy服务

8、查看haproxy的状态页面

相关推荐
骅青1 个月前
培训第四十一天(docker-compose一键部署项目,haproxy容器代理多个web或java容器)
docker·docker-compose·haproxy
西木Qi1 个月前
HaProxy学习 —300K的TCP Socket并发连接实现(翻译)
haproxy
彧A2 个月前
HAProxy的详解
大数据·haproxy
现实、太残忍2 个月前
docker compose部署rabbitmq集群,并使用haproxy负载均衡
docker·rabbitmq·haproxy
田驰022 个月前
走进 keepalived:解析高可用架构背后的关键技术
运维·云原生·lvs·keepalived·haproxy
Renhongzhou2 个月前
haproxy七层代理知识点以及各种配置
linux·运维·服务器·网络·haproxy
王养坤2 个月前
CentOS7.6 HAproxy-7层负载均衡集群——实施方案
运维·服务器·centos·负载均衡·proxy模式·haproxy·王养坤
m0_649817412 个月前
什么是haproxy七层代理
haproxy
Free and easy2322 个月前
一文带你快速了解——HAProxy负载均衡
运维·服务器·负载均衡·haproxy
田俊楠·2 个月前
cnetos部署高可用以及七层负载均衡
运维·nginx·centos·负载均衡·keepalived·haproxy·田俊楠