haproxy基本编译环境部署

前提:haproxy支持基于lua实现功能扩展(需要安装比较新的lua语言,方便进行haproxy编译)。

复制代码
wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
lua -v # 检查环境
yum list lua  # 查看可以安装环境

同时还需要gcc,gcc-c++,make环境。

复制代码
yum install gcc gcc-c++ make -y

安装基本haproxy环境

安装版本为:haproxy-2.8.1.tar.gz
源码包下载地址: http://www.haproxy.org/download/
1、解压haproxy包并且指定目录。

复制代码
tar xf haproxy-2.8.1.tar.gz -C /usr/local/src/
cd /usr/local/src/haproxy-2.8.1/ # 切换到该目录之后,可以查看各个安装包与依赖的版本。

2、安装readline-devel

复制代码
yum install readline-devel

3、检查还需要安装的依赖和包,编译安装

复制代码
make linux test
cd ../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/src/lua-5.4.4/src/ LUA_LIB=/usr/local/src/lua-5.4.4/src/  # 检查,直到不报错,所有依赖安装结束。

yum install zlib-devel
yum install pcre-devel
yum install openssl-devel
yum install systemd-devel

make install PREFIX=/usr/local/haproxy  # 安装到指定目录
ln -sv /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy  # 做软链接

4、验证版本

复制代码
haproxy -v

5、写启动脚本

复制代码
vim /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

5、报错情况(如果出现文件目录不存在的情况)

如果出现报错,执行如下操作。

复制代码
mkdir -p /var/lib/haproxy


mkdir /etc/haproxy
cd examples/
cp quick-test.cfg /etc/haproxy/haproxy.cfg

6、测试重启。

复制代码
systemctl daemon-reload
systemctl start haproxy
相关推荐
Z21-X17 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
进击的荆棘19 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
瑞雪兆丰年兮20 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
那明眸似水20 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
小南家的青蛙1 天前
微服务体系下DevOps运维岗位面试方案设计
运维·面试·职场和发展·devops
知已难寻1 天前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
Alluxio2 天前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Sayai2 天前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
Elastic 中国社区官方博客2 天前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜2 天前
Docker Volume -- 管理卷Volume详解
运维·docker·容器