5.2 在操作系统上安装部署HAProxy

news2025/1/14 0:47:09

HAProxy可以在各种主流的Linux发行版、主流的Unix操作系统(如Fredsd、Solaris)安装和稳定高效的运行,从HAProxy提供的安装文档“INSTALL”上,可以获得这些信息,如图5-3所示。

图5- 3

有两种安装HAProxy的方法:一种是用Linux操作系统发行版的包管理工具,另一种则是用源码进行编译安装。一般而言,包管理工具局限性比较大,每种Linux操作系统发行版的包管理工具不一样,不具有通用性,而且封装的版本较陈旧,好处是安装简单、快捷;源码安装,可选择较新的稳定版本,通用性强,在Linux或者Unix上,安装部署的方法几乎一致。

5.2.1 用包管理工具安装HAProxy

采用包管理器安装软件,包括安装HAProxy,为了解决好软件包之间的依赖,目标系统最好能访问互联网。如果是封闭性网络,自建的软件仓库,处理路径要曲折一些。接下来,介绍一些作者常用的Linux 操作系统发行版安装HAProxy的方法。

1Rocky 9安装HAProxy

系统命令行执行指令“dnf install haproxy”(执行“yum install haproxy”也是一样),获取到的版本为“haproxy-2.4.17”,输入字母“y”进行正式安装,如图5-4所示。Centos 各发行版本,也是一样的安装方法,不再赘述。

 

 

图5- 4

2Debian 11安装HAProxy

系统命令行执行“apt install HAProxy”或者“apt-get install haproxy”,获取到的版本为“haproxy-2.2.9”,相对于Rocky 9,所提供的版本较低,无需人工干涉,自动完成安装(后悔的话,执行“apt remove haproxy”卸载)如图5-5所示。

 

图5- 5

3Suse 15安装HAProxy

系统命令行执行“zypper install haproxy”,获取到的版本为“haproxy-2.4.8”,输入字母”y”进行正式安装,如图5-6所示。

 

图5- 6

以包管理器安装到Linux系统的HAProxy,其主要的文件有两个:一个可执行文件“haproxy”,用来启动“Haproxy”服务,完整的路径是”/usr/sbin/haproxy”;另一个是启动服务所必须的配置文件”/etc/haproxy/haproxy.cfg”,对HAProxy进行维护的时候,几乎全部的工作都在这个配置文件上边进行,当然,也可以再别的路径重新定义配置文件,启动HAProxy服务时,加选项“-f”指定自建的配置文件。

包管理器安装方便快捷,也不容易出错(相对于源码安装),但其隐藏了细节,整个过程不可控,比如是否支持某项功能,需要安装完成后查看,比如前文关于Nginx需要“Health Check”时,就需要重新进行处理。那么用包管理器安装的HAProxy,是否包含我们关注的某些功能,比如多域名证书支持(Openssl SNI)?系统命令行运行指令“haproxy”加选项“-vv”,一窥究竟,如图5-7所示。

 

图5- 7

5.2.2 用源码安装HAProxy

绝大部分开源工具,为了使软件适应各种运行环境(Unix或Linux),都以源码方式进行正式发布。

 

采用源码方式进行安装,具有如下的优势:

  1. 自由选择软件版本。
  2. 安装过程可以控制。在配置(./configure)或者编译过程中,加入选项或者参数,使性能更为优化、功能更为精简(要什么就选什么)。
  3. 限定安装目录。将软件所需的文件、目录限定到指定的路径,避免满山放羊,日常维护和管理省心省力。
  4. 通用性。不管操作系统是Unix还是Linux,大小通吃。
  5. 有利于提高人员的专业技术水平。

当然,有优点必然也有缺点。比如安装过程复杂耗时、技术水平要求高(要有很强的排错能力)。至于用哪种方法安装软件,没有一定之规,也没有哪种方式更优,还是根据自己的习惯来选择吧!

1)选择HAProxy版本

HAProxy官方网站发布的最新版本为“2.7.8”,作者一般习惯于选择次新一点的稳定版本“2.6.13”。由于某种众所周知的原因,官方网站http://www.haroxy.org 有时用浏览器不能访问,可尝试镜像站点Index of haproxy-local ,此镜像站点提供HAProxy的各种版本,如图5-8所示。

 

图5- 8

2)下载HAProxy到目标服务器

登录到目标系统,命令行执行如下指令:

#用git拉取整个分支

git clone Index of /git/haproxy-2.6.git/

#或者用wget获取压缩包文件,再解包

wget https://www.haproxy.org/download/2.6/src/snapshot/haproxy-ss-LATEST.tar.gz

tar zxvf  haproxy-ss-LATEST.tar.gz

这两种方式获取的版本都是“haproxy-2.6.13”,通过阅读下载来的文件“VERSION”,确认文件的版本号,如图5-9所示。

 

图5- 9

3)安装HAProxy所需的依赖

一般情况下,编译安装HAProxy需要OpenSSL、Pcre、Gcc等几个依赖包,因此需要预先将这几个工具包安装到系统。不能确认你所安装的系统是否已经存在这些包,依然可以用系统自带的包管理工具安装一次,就算依赖包已经存在,最多不进行实际安装而已,不会对系统造成任何负面影响。以包管理工具安装HAProxy所需的依赖指令如下:

#Rocy 9 ,Centos 9等

dnf install gcc openssl-devel pcre-devel

#Debian 及 Ubuntu等

apt install gcc openssl-devel

4)编译安装HAProxy

HAProxy源码提供了一个安装文档“INSATLL”,在安装之前,可预先阅读这个文件,了解一个大概,避免一上来就根据以往的习惯,执行“./configure”。HAProxy源码包里,没有“configure”这个脚本文件,而是有一个配置好的“Makefile”文件,系统命令执行指令“make”加所需的选项或参数,就可以进行编译了。编译、安装HAProxy源码的完整指令如下:

cd haproxy-2.6

make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 \

USE_ZLIB=1 USE_PCRE_JIT=1

#指定安装路径/usr/local/haproxy

make install PREFIX=/usr/local/haproxy

编译与安装过程如无报错,表明方法是正确的。进入软件安装目录”/usr/local/haproxy”,执行指令“sbin/haproxy -vv”验证安装好的HAProxy所需的功能是否被支持(如图5-10所示)。

 

图5- 10

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java | 一分钟掌握定时任务 | 8 - XXL-Job分布式定时任务

作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我! 前言 java定时任务的框架可真是多啊,XXL-JOB也是一个分布式任务…

开源进展|WeCross v1.3.0发布,支持适配FISCO BCOS v3.0

WeCross是微众银行自主研发并完全开源的区块链跨链协作平台,致力于促进跨行业、机构和地域的跨区块链信任传递和商业合作,有助于实现异构区块链系统之间安全可信的互操作。 WeCross v1.2.0自发布以来,得到了众多社区伙伴的支持和反馈。目前&…

内网渗透(八十)之搭建额外域控

搭建额外域控 我们在之前搭建完成Windows Server 2012 R2 域控的基础上搭建一个额外的域控。多个域控的好处在于,当其中有域控出现了故障,仍然能够由其他域控来提供服务。选择一台Windows Server 2012 R2 服务器作为额外域控,主机名为DC2. 首先在DC2上配置IP地址为192.168…

如何有效控制城镇供水管网漏损

漏损问题是影响城镇供水管网稳定与可靠运行的重要问题。其中,城镇供水管网运行中,一旦存在漏损情况不仅会对供水管网的供水水质产生影响,导致其水质降低,而且会出现供水压力与供水量减少等变化,对供水企业的供水服务质…

硬核数据处理笔记本推荐(2023版)

2023年硬核数据处理笔记本推荐它来了!!!在大家的呼声中它来了!!! 去年的推荐收货不少好评,今年继续为大家分享选购攻略! 选购背景: 1.今年英特尔处理器挤牙膏、出套娃…

【开源】diy一个wifi遥控小飞机

完成效果: 童年的纸飞机 资料中包含了PCB和参考的小飞机模型,我当时是用某宝上几块钱的手抛小飞机改装的,需要一定的动手能力。 硬件 材料 720空心杯电机 * 2107正反桨一对,搭配电机3.7V 300mAh锂离子电池 * 1控制板 * 148cm手…

【C++】异常+智能指针+特殊类和类型转换

上天可能觉得我太孤独,派你来和我一起对抗虚无。 文章目录 一、异常1.传统处理错误的方式vs异常2.异常的使用规则2.1 异常的抛出和捕获原则2.2 在函数调用链中异常栈展开匹配原则 3.异常安全和异常规范4.自定义异常体系5.标准库的异常体系和异常的优缺点 二、智能指…

Rocketmq简单使用

1.引入依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.7.0</version></dependency><dependency><groupId>org.apache.rocketmq</groupId>&l…

22.vue插槽

目录 1 基本使用 2 name属性与v-slot 3 插槽放默认内容(后备内容) 4 插槽的自定义属性(作用域插槽) 4.1 简单使用 4.2 传data 4.3 支持解构 插槽操作就是写在组件中间的东西&#xff0c;其目的是增加组件在UI结构上的复用性&#xff0c;就像下面这样 直接写是渲染…

chatgpt赋能Python-python_ipynb

Python Ipython Notebook: 大数据时代的完美解决方案 在大数据时代&#xff0c;数据处理和分析是许多组织必须面对的挑战。Python Ipython Notebook (IPYNB) 可以提高数据探索性分析的效率&#xff0c;并能够使您更好地理解和评估数据。本文将介绍Python IPYNB是什么、以及为什…

C++设计手段的智慧:从基础到前沿

C设计手段的智慧&#xff1a;从基础到前沿 一、C基础设计手段&#xff08;Basic Design Techniques in C&#xff09;1.1 C 类和对象设计1.1.1 类的定义1.1.2 对象的创建和使用1.1.3 类的封装1.1.4 类的继承1.1.5 类的多态 1.2 RAII of C design tools (resource acquisition i…

ROS学习笔记(九):MoveIt!与机械臂控制

ROS学习笔记&#xff08;九&#xff09;&#xff1a;MoveIt&#xff01;与机械臂控制 MoveIt&#xff01;简介MoveIt&#xff01;系统架构MoveIt&#xff01;编程与机械臂控制关节空间规划工作空间规划笛卡尔运动规划避障规划 Pick and Place示例 MoveIt&#xff01;简介 Move…

一图看懂!RK3568与RK3399怎么选?

▎简介 RK3568和RK3399都是Rockchip公司的处理器&#xff0c;具有不同的特点和适用场景。以下是它们的主要区别和应用场景。 ▎RK3568 RK3568是新一代的高性能处理器&#xff0c;采用了22nm工艺&#xff0c;具有更高的性能和更低的功耗。它支持4K视频解码和编码&#xff0c;支持…

某程序员辞职后,接6份兼职,月入3w+

对于程序员来说&#xff0c;35岁真的是很关键。 如果成为架构师或者是成为管理方面的人才&#xff0c;还是不用担心失业。要是你30多岁还在一线写代码&#xff0c;那被裁的可能性很大。即使你现在没有失业&#xff0c;也说明你能力很一般。 最近在职场论坛上看到这样一个帖子…

互联网广告丨行业知识储备

文章状态&#xff1a;持续更新中 更新时间&#xff1a;2023.05.22 本文不同于专业咨询机构输出的专业行业调研报告&#xff0c;仅作为产品经理对互联网广告行业的一些基础知识储备。文章会以产品经理的角度&#xff0c;从行业概述、行业目标与愿景、行业生态、行业的发展、行业…

数仓中指标-标签,维度-度量,自然键-代理键等各名词深度解析

作为一个数据人&#xff0c;是不是经常被各种名词围绕&#xff0c;是不是对其中很多概念认知模糊。有些词虽然只有一字之差&#xff0c;但是它们意思完全不同&#xff0c;今天我们就来了解下数仓建设及数据分析时常见的一些概念含义及它们之间的关系。 本文首发于公众号【五分钟…

LiveNVR视频平台接收无人机等移动终端RTMP推流后转成GB28181协议输出级联到GB28181视频平台的操作说明...

1、需求介绍 目前很多移动终端设备(如无人机等)只支持RTMP推流输出&#xff0c;不支持GB28181协议。但是又有需要通过GB28181协议接入到视频平台的需求。比如有些大疆无人机产品不能直接注册国标平台&#xff0c;只能rtmp推流。那么&#xff0c;项目中如果将无人机的rtmp的推流…

Stablediffusion模型diffusesr格式和ckpt格式相互转换

参考资料&#xff1a; diffusers的源码 [github] 因为小博客可能看的人很少&#xff0c;所以我写的啰嗦一点&#xff0c;想直接看如何互相转换的朋友可以直接转到文末的代码段。 当你在学习Stablediffusion这个开源的t2i模型时&#xff0c;不可避免地会碰到两种模型权重的存储格…

在rk3568移植rtl8723du,配置成wifi ap模式

1、在路径添加rtl8723du模块代码 kernel/drivers/net/wireless/rockchip_wlan 添加rtl8723du 2、修改Makefile 修改对应的路径 修改交叉编译的工具的路径和内核路径 3、修改rockchip_wlan目录下的Makefile 添加这个 obj-$(CONFIG_RTL8723DU) rtl8723du/ 4、修改rockchip_w…

淘宝按关键字搜索淘宝商品 API 参数及返回值说明 翻页展示 含调用示例

淘宝关键字搜索接口&#xff0c;是复原我们在淘宝购物时&#xff0c;在搜索栏内输入关键字&#xff0c;即可获取到相关商品列表&#xff0c;商品信息齐全&#xff0c;支持翻页展示。同时&#xff0c;传入参数sort可按价格排序&#xff0c;也可筛选响应价格段的商品。商品信息是…