Haproxy 下载、编译部署、使用

文章目录

  • 前言
    • Haproxy 下载、编译部署、使用
      • 1. 下载
      • 2. 编译部署
      • 3. 使用
        • 3.1. 验证配置文件
        • 3.2. 启动 HAProxy 并指定配置文件路径
        • 3.3. 关闭HAProxy
        • 3.4. 重载HAProxy
      • 3. 测试

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


Haproxy 下载、编译部署、使用

1. 下载

https://www.haproxy.org/

在这里插入图片描述
在这里插入图片描述
下载的为2.5版本

2. 编译部署

上传服务器,
解压文件:
tar -zxvf haproxy-2.5.14.tar.gz
在这里插入图片描述
编译和安装
安装一些依赖项。对于 Debian/Ubuntu 系统,可以使用以下命令:

apt-get update
apt-get install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev

在这里插入图片描述
然后编译和安装 HAProxy:
进去haproxy-2.5.14源码包

cd haproxy-2.5.14make TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1
* TARGET=linux-glibc:* 指定要编译的目标平台。* linux-glibc 表示目标平台是使用 GNU C 库(glibc)的 Linux 系统。不同的平台可能需要不同的目标设置。
* USE_PCRE=1:* 启用 PCRE(Perl Compatible Regular Expressions)库的支持。* PCRE 用于正则表达式处理,HAProxy 使用它来支持高级模式匹配和正则表达式功能。* 设置为 1 表示在编译时启用此功能。
* USE_OPENSSL=1:* 启用 OpenSSL 库的支持。* OpenSSL 提供了加密和 SSL/TLS 功能,HAProxy 使用它来支持 HTTPS 和其他加密通信。* 设置为 1 表示在编译时启用此功能。
* USE_ZLIB=1:* 启用 Zlib 库的支持。* Zlib 用于压缩和解压缩数据,HAProxy 使用它来支持 HTTP 压缩(如 gzip)。* 设置为 1 表示在编译时启用此功能。

haproxy自定义安装路径
先退出到/app/yzy 创建haproxy文件夹

cd ..
pwd
mkdir haproxy
ls

在这里插入图片描述
在进入到haproxy源码包里进行自定义安装
命令:make install PREFIX=/app/yzy/haproxy

cd haproxy-2.5.14
make install PREFIX=/app/yzy/haproxy
cd ../haproxy
ls

在这里插入图片描述
前置创建:

mkdir conf 
mkdir log
mkdir -p /var/lib/haproxy
mkdir -p /run/haproxy

在这里插入图片描述

chmod 777 /var/lib/haproxy
chmod 777 /run/haproxy
cd log
touch logfile
chmod 777 /app/log/logfile

在这里插入图片描述
创建配置文件

cd conf
vim  haproxy.cfg

添加配置:

globallog /app/log/logfile local0log /app/log/logfil local1 noticechroot /var/lib/haproxystats socket /run/haproxy/admin.sock mode 660 level adminstats timeout 120sdaemonmaxconn 4096defaultslog globaltimeout connect 30stimeout client 30stimeout server 30sfrontend http-inbind *:8001mode tcpdefault_backend serversbackend serversserver server1 192.168.33.125:8081 maxconn 32 maxconn 32

含义:

global# 配置 HAProxy 使用系统日志服务log /app/log/logfile local0log /app/log/logfil local1 noticechroot /var/lib/haproxy # 将 HAProxy 进程的根目录更改为 /var/lib/haproxy#创建一个 Unix 套接字,允许使用 haproxy 管理命令。mode 660 设置文件权限,level admin 指定管理权限。stats socket /run/haproxy/admin.sock mode 660 level admin #设置管理接口的超时时间为 120 秒stats timeout 120suser haproxy  # 设置运行 HAProxy 的用户和组。group haproxy  # 设置运行 HAProxy 的用户和组。daemon # 让 HAProxy 以后台进程方式运行。maxconn 4096 #设置 HAProxy 允许的最大并发连接数为 4096。defaultslog global # 继承 global 部分的日志设置。timeout connect 30s 连接超时设置为 30timeout client 30s 客户端超时设置 30timeout server 300s 服务器超时设置300秒errorfile 400 /app/yzy/haproxy/errors/400.httperrorfile 403 /app/yzy/haproxy/errors/403.httperrorfile 408 /app/yzy/haproxy/errors/408.httperrorfile 500 /app/yzy/haproxy/errors/500.httperrorfile 502 /app/yzy/haproxy/errors/502.httperrorfile 503 /app/yzy/haproxy/errors/503.httperrorfile 504 /app/yzy/haproxy/errors/504.httpfrontend http-inbind *:8001  # : 绑定到所有网络接口的 80 端口mode tcp  # 配置 HAProxy 以 HTTP 模式工作。或者https或者tcpdefault_backend serversbackend serversserver server1 192.168.33.125:8081 maxconn 32 # 最大连接数为 32。
chmod 777  haproxy.cfg

在这里插入图片描述

3. 使用

3.1. 验证配置文件
/app/yzy/haproxy/sbin/haproxy -c -f /app/yzy/haproxy/conf/haproxy.cfg

输出 Configuration file is

3.2. 启动 HAProxy 并指定配置文件路径
valid
/app/yzy/haproxy/sbin/haproxy -f /app/yzy/haproxy/conf/haproxy.cfg
3.3. 关闭HAProxy
pkill haproxy
3.4. 重载HAProxy
/app/yzy/haproxy/sbin/haproxy -f /app/yzy/haproxy/conf/haproxy.cfg -sf $(pidof haproxy)

在这里插入图片描述

3. 测试

curl -X POST http://127.0.0.1:8001/api/tool/scan \-H "Content-Type: application/json" \-d '{"key": "","path": "","pattern": ""}'

在这里插入图片描述

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

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

相关文章

PCB工艺边设计准则

在PCB设计时,通常会在电路板的边缘预留一定的空间,这部分空间被称为工艺边。它有助于在生产过程中确保电路板的尺寸和形状的准确性。以使得组装时更加顺畅、便捷。而工艺边的加工,使得线路板上的元件可以精准地与设备对接,从而提高…

pythonGame-实现简单的贪食蛇游戏

通过python简单复现贪食蛇游戏。 使用到的库函数: import pygame import time import random 游戏源码: import pygame import time import randompygame.init()white (255, 255, 255) yellow (255, 255, 102) black (0, 0, 0) red (213, 50, 80…

鸿蒙(HarmonyOS)下拉选择控件

一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0(API 9) 二、效果图 三、代码 SelectPVComponent.ets Component export default struct SelectPVComponent {Link selection: SelectOption[]priva…

【C++】选择结构案例-三只小猪称体重

案例问题 假设有三只小猪A、B、C,在输入三者体重后希望能输出他们各自的体重并测出谁最重 思路 先让A与B相比较,如果A重,则让A和C相比较,如果A重则输出A最重,否则输出C最重 在最开始的条件(AB相比较&am…

Jetpack Compose 通过 OkHttp 发送 HTTP 请求的示例

下面是一个使用 Kotlin 和 Jetpack Compose 来演示通过 OkHttp 发送 HTTP 请求的示例。这个示例包括在 Jetpack Compose 中发送一个 GET 请求和一个 POST 请求,并显示结果。 添加okhttp依赖 首先,在你的 build.gradle.kts 文件中添加必要的依赖&#xf…

【Python系列】isin用法

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

通过强大的语义层增强现代数据湖

在现代数据湖架构中,语义层通过向数据添加有意义的上下文来发挥至关重要的作用,否则这些上下文会丢失。此层充当现代数据湖(数据仓库和查询引擎)处理层中未整理的原始数据与利用此数据的工具和应用程序之间的桥梁。此服务对 AI 特…

微信小程序-自定义tabBar

通过官网给出的示例自己实现了自定义的tabBar,但结果发现 无法监听页面生命周期函数 结语:原想的是实现不一样的效果(如下) 故尝试了自定义tabBar,虽然做出来了,但也发现这个做法存在不足: 在…

电子签章-开放签应用

开放签电子签章系统开源工具版旨在将电子签章、电子合同系统开发中的前后端核心技术开源开放,适合有技术能力的个人 / 团队学习或自建电子签章 \ 电子合同功能或应用,避免研发同仁在工作过程中重复造轮子,降低电子签章技术研发要求&#xff0…

Maven 的模块化开发示例

Maven 的模块化开发是一种非常有效的软件开发方式,它允许你将一个大型的项目分割成多个更小、更易于管理的模块(modules)。每个模块都可以独立地构建、测试和运行,这不仅提高了开发效率,也便于团队协作和项目的维护。以…

优化医疗数据管理:Kettle ETL 数据采集方案详解

在现代医疗保健领域,数据的准确性、完整性和及时性对于提高医疗服务质量和患者护理至关重要。为了有效管理和利用医疗数据,Kettle ETL(Extract, Transform, Load)数据采集方案成为了许多医疗机构的首选工具之一。本文将深入探讨Ke…

C++ 列式内存布局数据存储格式 Arrow

Apache Arrow 优点 : 高性能数据处理: Arrow 使用列式内存布局,这特别适合于数据分析和查询操作,因为它允许对数据进行高效批量处理,减少CPU缓存未命中,从而提升处理速度。 零拷贝数据共享: Arrow …

SPSS个人版是什么软件

SPSS是一款数据统计、分析软件,它由IBM公司出品,这款软件平台提供了文本分析、大量的机器学习算法、数据分析模型、高级统计分析功能等,软件易学且功能非常强大,可以使用SPSS制作图表,例如柱状、饼状、折线等图表&…

Pytorch使用教学7-张量的广播

PyTorch中的张量具有和NumPy相同的广播特性,允许不同形状的张量之间进行计算。 广播的实质特性,其实是低维向量映射到高维之后,相同位置再进行相加。我们重点要学会的就是低维向量如何向高维向量进行映射。 相同形状的张量计算 虽然我们觉…

SpringBoot 实现图形验证码

一、最终结果展示 二、前端代码 2.1 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title>验证码</title><style>#inputCaptcha {height: 30px;vertical-align: middle;}#verifica…

C95之重要特性及用法实例(五十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…

JavaWeb学习——请求响应、分层解耦

目录 一、请求响应学习 1、请求 简单参数 实体参数 数组集合参数 日期参数 Json参数 路径参数 总结 2、响应 ResponseBody&统一响应结果 二、分层解耦 1、三层架构 三层架构含义 架构划分 2、分层解耦 引入概念 容器认识 3、IOC&DI入门 4、IOC详解 …

实时同步:使用 Canal 和 Kafka 解决 MySQL 与缓存的数据一致性问题

目录 1. 准备工作 2. 将需要缓存的数据存储 Redis 3. 监听 canal 存储在 Kafka Topic 中数据 1. 准备工作 1. 开启并配置MySQL的 BinLog&#xff08;MySQL 8.0 默认开启&#xff09; 修改配置&#xff1a;C:\ProgramData\MySQL\MySQL Server 8.0\my.ini log-bin"HELO…

本田Honda EDI项目案例:非EDI标准的数据格式转换与传输

近期知行帮助东风本田Honda的供应商E公司成功实施EDI项目&#xff0c;与以往采用X12、EDIFACT等EDI标准的项目不同&#xff0c;Honda向其供应商提供API接口&#xff0c;以JSON的格式传输库存信息以及生产计划。 EDI需求概览 Honda提供公开的WSRM系统供应商API接口&#xff0c…

数据库中的事务

一、理解事务 1、本质 事务由一组DML语句组成&#xff0c;这一组语句要么全部成功&#xff0c;要么全部失败。在逻辑上&#xff0c;事务就是一组sql语句&#xff0c;但在实际中&#xff0c;公共的数据库一定会高并发地接受各种事务的请求&#xff0c;所以一个事务要有4个属性…