基于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的状态页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/72487.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用CSS实现一个响应式视频播放器?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现响应式视频播放器⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣…

【腾讯云 Cloud Studio 实战训练营】在线 IDE 编写 canvas 转换黑白风格头像

关于 Cloud Studio Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用Cloud Studio 时无需安装,随时随地打开浏览器就能在线编程。 Cloud Studio 作为在线IDE,包含代码高亮、自动补全、Gi…

P12-Retentive NetWork-RetNet挑战Transformer

论文地址:https://arxiv.org/abs/2307.08621 目录 Abstract 一.Introduction 二.Retentive Networks 2.1Retention 2.2Gated Multi-Scale Retention 2.3Overall Architecture of Retention Networks 2.4Relation to and Differences from Previous Methods 三.Experime…

Stable Diffusion Webui源码剖析

1、关键python依赖 (1)xformers:优化加速方案。它可以对模型进行适当的优化来加速图片生成并降低显存占用。缺点是输出图像不稳定,有可能比不开Xformers略差。 (2)GFPGAN:它是腾讯开源的人脸修…

Java中的异常

认识异常 异常就是程序出现的问题; Integer.valueOf("aaaa"); 异常体系 因为写代码时经常会出现问题,Java的设计者们早就为我们写好了很多个异常类,来描述不同场景下的问题。而有些类是有共性的所以就有了异常的继承体系 Error&…

[MySQL] — 数据类型和表的约束

目录 数据类型 数据类型分类 数值类型 tinyint类型 bit类型 小数类型 float decimal 字符串类型 char varchar char和varchar的区别 日期和时间类型 enum 和 set 表的约束 空属性 默认值 列描述 zeorfill 主键 创建表时在字段上指定主键 删除主键: 追…

Kubernetes 部署DolphinScheduler 创建租户失败

创建租户 报错创建租户失败。后台日志如下 源代码跟踪 org.apache.dolphinscheduler.api.service.impl.TenantServiceImpl / if hdfs startup if (PropertyUtils.getResUploadStartupState()) {createTenantDirIfNotExists(tenantCode); }需要将 resource.storage.type 置为…

Go自写NIPS—网络威胁防御系统

目录 0x00 摘要0x01 示例柱状图3d视图报警列表控制查询功能封堵IP实例 0x02 结语 0x00 摘要 紧接着上文,我开发了IDS的雏形,但是因为界面太丑,还频繁出现bug,并且也没有封禁等功能(还需要去防火墙自己封禁&#xff09…

SpringBoot案例-员工管理-删除员工

查看页面原型,明确需求 页面原型 有批量删除和删除单个数据 需求 查看接口文档 接口文档的链接如下: 【腾讯文档】SpringBoot案例所需文档 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 删除单个数据,将要删除的员工信息的id传…

​《乡村振兴战略下传统村落文化旅游设计 》在2023年畅销榜排名465位

​《乡村振兴战略下传统村落文化旅游设计 》在2023年畅销榜排名465位

驱动DAY5

1.实现设备文件和设备的绑定,编写LED驱动 2.复习竞态的解决方法和阻塞IO实现 第一个任务 头文件 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;u…

【JAVA】我们该如何规避代码中可能出现的错误?(一)

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言三种类型的异常异常处理JAVA内置异常类Exception 类的层次 前言 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的&…