【部署篇】Haproxy-01安装部署(源码方式安装)
一、HAProxy概述
HAProxy是一款免费、快速且可靠的代理软件,提供高可用性、负载均衡,支持TCP和HTTP应用代理,HAProxy凭借其卓越的性能和灵活性,成为众多知名网站和系统的首选代理软件。
核心特点:
- 高性能:采用事件驱动模型,支持大量并发连接,具有低延迟和高吞吐量。
- 高可用性:能够自动检测后端服务器健康状态,实现故障切换,确保服务连续性。
- 灵活性:支持多种负载均衡算法,可根据业务需求灵活配置。
- 安全性:可作为反向代理隐藏后端服务器IP,支持SSL/TLS加密,保护数据传输安全。
- 适用场景:广泛应用于大型网站、Web应用集群、微服务架构等,为各种业务场景提供负载均衡和高可用性解决方案。
- 配置与部署:支持分多个文件配置,通过灵活配置可实现定制化需求。
- 可视化监测:支持通过页面方式可视化监测后端服务运行状态。
二、安装Haproxy
安装文件可点击进入官网下载,也可以在文章关联的资源中进行下载。
# 安装基础软件
yum install -y gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof tcpdump wget# 下载安装包
wget https://www.haproxy.org/download/2.0/src/haproxy-2.0.31.tar.gz# 解压依赖
tar xvf haproxy-2.0.31.tar.gz# 查看系统内核版本,根据内核心指定编译参数TARGET的值(如:linux3100、linux5108等)
uname -r# 编译版本
make ARCH=x86_64 TARGET=linux3100 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy# 进行安装
make install PREFIX=/usr/local/haproxy# 复制应用至path目录
cp haproxy /usr/sbin/# 添加用户
groupadd haproxy
useradd -g haproxy haproxy
id haproxy# 创建配置文件存放目录
mkdir /etc/haproxy && mkdir /etc/haproxy/conf
三、配置文件
以下提供的是一下基础的Http服务配置,保存到主配置文件/etc/haproxy/haproxy.cfg中,配置多配置文件配置在haproxy.cfg也可配置到/etc/haproxy/conf目录下,通过启动参数 -f 指定。
# 编译haproxy.cfg
vi /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
globallog 127.0.0.1 local0 infochroot /usr/local/haproxymaxconn 20000daemon#-----------
# admin settings
#-----------
defaults adminmode httpstats enablestats refresh 30stimeout connect 10stimeout client 1mtimeout server 1m
listen http_statsbind *:8888 #监控访问端口stats uri /haproxy #监控访问路径stats hide-version #隐藏版本号stats auth admin:123456 #设置管理员帐号和密码log 127.0.0.1 local0 err #[err warning info debug]
##################################################################
#Default mode http
##################################################################
defaults HTTPmode httplog globaloption httplogoption dontlognulloption http-server-closeoption forwardfor except 127.0.0.0/8option redispatchretries 3timeout http-request 10stimeout queue 1mtimeout connect 5000timeout client 50000timeout server 50000maxconn 65535stats uri /status
#---------------------------------------------------------------------
# HTTP 外网
#---------------------------------------------------------------------
frontend http-frontbind :80#bind :443 ssl crt /etc/haproxy/ssl/xxxxx.pemmode httpoption forwardforhttp-request set-header X-Client-IP %[src]http-request set-header X-forwarded-Port %[dst_port]http-request add-header X-forwarded-Proto https if { ssl_fc }#强制https#redirect scheme https if !{ ssl_fc }#HAuse_backend haproxy if { path_beg -i /haproxy } #---------------------------------------------------------------------
# HTTP 内网
#---------------------------------------------------------------------
frontend http-prodbind :8085mode httpoption forwardforhttp-request set-header X-Client-IP %[src]#HAuse_backend haproxy if { path_beg -i /haproxy } #票务内部接口
backend haproxy mode httpbalance sourceserver haproxy-1 127.0.0.1:8888 check inter 2000 rise 2 fall 3 weight 1
四、配置服务
- 在/usr/lib/systemd/system目录下添加haproxy.service文件将haproxy添加为系统服务,实现开机启动,-f可以指向文件,也可以指向文件夹;当指向文件夹时文件夹的所有文件将作为配置文件合并到haproxy.cfg中。
# 编写haproxy服务
vi /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target[Service]
#支持多配置文件读取,类似于从侧面是实现配置文件的include功能。
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf -p /run/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID[Install]
WantedBy=multi-user.target
- 设置开始启动
# 启用服务,实现开机启动
systemctl enable haproxy.service # 加载systemd管理配置
systemctl daemon-reload# 启动服务
systemctl start haproxy# 停止服务
systemctl stop haproxy# 查看状态
systemctl status haproxy
- 访问测试
启动haproxy服务后,通过http://Ip:8888/haproxy可打开监控页面,通过配置文件中的帐号:admin密码:123456进行登录访问。

相关文章:
【部署篇】Haproxy-01安装部署(源码方式安装)
一、HAProxy概述 HAProxy是一款免费、快速且可靠的代理软件,提供高可用性、负载均衡,支持TCP和HTTP应用代理,HAProxy凭借其卓越的性能和灵活性,成为众多知名网站和系统的首选代理软件。 核心特点: 高性能…...
开拓鸿蒙测试新境界,龙测科技引领自动化测试未来
在当今科技舞台上,鸿蒙 OS 以非凡先进性强势登场,打破传统操作系统格局,为软件测试领域带来全新机遇与艰巨挑战。 一、鸿蒙 OS 的辉煌崛起 (一)壮丽发展历程与卓越市场地位 鸿蒙 OS 的发展如波澜壮阔的史诗。2023 年…...
Java项目-基于springboot框架的自习室预订系统项目实战(附源码+文档)
作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…...
调整数组奇偶数顺序
今天给大家分享一道题目,要求我们输入一个数组,将全部奇数放在偶数前面(无需比较大小),下面是我写的代码 这个方法比使用三个数组进行数据传输要节省不少程序运行时间,缺点是使用了较多的while循环…...
Electron调用nodejs的cpp .node扩展【非安全】
Electron调用nodejs的cpp .node扩展【非安全】 环境: electron: 30.1.1 nodejs: 20.14.0前言 Electron中可以非常容易的调用nodejs的js代码,但是对于cpp .node扩展需要一定的配置才能调用,下面介绍一种最简单的cpp扩展的调用方法ÿ…...
一文了解AOSP是什么?
一文了解AOSP是什么? AOSP基本信息 基本定义 AOSP是Android Open Source Project的缩写,这是一个由Google维护的完全免费和开放的操作系统开发项目。它是Android系统的核心基础,提供了构建移动操作系统所需的基本组件。 主要特点 完全开源…...
ffmpeg视频边缘模糊,打造梦幻般的视觉效果!
在视频编辑的世界里,细节决定成败。边缘模糊效果是一种强大的工具,可以让你的作品瞬间提升质感。通过简单的命令,你可以轻松实现视频边缘的柔和化处理,创造出梦幻般的视觉效果。 想象一下,当你将一段普通的视频应用边…...
[Wireshark] 使用Wireshark抓包https数据包并显示为明文、配置SSLKEYLOGFILE变量(附下载链接)
前言 wireshark安装包 链接:https://pan.quark.cn/s/febb28f57c01 提取码:fUCQ 链接失效(可能会被官方和谐)可评论或私信我重发 chrome与firefox在访问https网站的时候会将密钥写入这个环境变量SSLKEYLOGFILE中,在wir…...
大话红黑树之(1)入门介绍
红黑树简介 红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,其关键特性是通过颜色标记(红色和黑色)来保证树的平衡性,从而在最坏情况下依然可以保持较高的查找、插入和删除操作的效率。红黑树通常用于需…...
ESC/POS图片打印指令
一:实践前的理论部分 蓝牙/热敏打印机如何打印图片。 票据打印机的指令和条码打印机的指令对于打印图片的格式要求基本都相似 看看ESC/POS指令的文档 是的看不懂。。。干脆直接试试好了,从如何打印一个像素的小黑点开始。 注意到x的最小单位是字节数…...
Unity之如何在Linux上部署Dedicated Server专用服务器
文章目录 前言构建为专用服务器启动时获取参数在 DigitalOcean 上准备 Linux 服务器最后,让我们开始吧。前言 我们在使用Mirror,Fishnet或者Unity Netcode开发多人游戏时,一般有三种链接模式,分别是:Host,Server,Client。 Host:代表既是客户端又是服务器 Server:代表…...
十、Linux 故障排除专业案例分享
Linux 故障排除专业案例分享 在 Linux 操作系统漫长的使用历程当中,不可避免地会遭遇到各种各样不同类型的故障。本文将会深入而全面地阐述一些较为常见的 Linux 故障以及与之相对应的解决方案。其目的在于,当用户在实际使用过程中面临类似问题的时候&a…...
智慧楼宇平台,构筑未来智慧城市的基石
随着城市化进程的加速,城市面临着前所未有的挑战。人口密度的增加、资源的紧张、环境的恶化以及对高效能源管理的需求,都在推动着我们寻找更加智能、可持续的城市解决方案。智慧楼宇作为智慧城市建设的重要组成部分,正逐渐成为推动城市可持续…...
JVM 实战篇(一万字)
此笔记来至于 黑马程序员 内存调优 内存溢出和内存泄漏 内存泄漏(memory leak):在Java中如果不再使用一个对象,但是该对象依然在 GC ROOT 的引用链上,这个对象就不会被垃圾回收器回收,这种情况就称之为内…...
线程同步之双摄
如何实现两个摄像头进行同步,并利用同步的信号做一些事情, 比如stereo camera 做深度,如果是自己整的两个camera,同步就需要自己做, 那么这时候可以利用线程同步手写一个,下面给一个示例代码: …...
使用 PyTorch 构建 LSTM 股票价格预测模型
目录 引言准备工作1. 训练模型(train.py)2. 模型定义(model.py)3. 测试模型和可视化(test.py)使用说明模型调整结论 引言 在金融领域,股票价格预测是一个重要且具有挑战性的任务。随着深度学习…...
【C++篇】C++类与对象深度解析(五):友元机制、内部类与匿名对象的讲解
文章目录 前言 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助!…...
模型训练进度条的代码
这个内容难在什么地方呢? 我想要跳转到另一个页面的时候 如何保存当前的训练状态,本来还想着加一个页面去管理进度的。然后想到了localstorage,将一些信息存储到浏览器中去。 进度条展示 <el-form-item label"训练进度" v-show…...
直观理解反向传播 | Chapter 3 | Deep Learning | 3Blue1Brown
目录 前言1. 简介2. 回顾3. 直观的演绎示例4. 随机梯度下降相关资料结语 前言 3Blue1Brown 视频笔记,仅供自己参考 这个章节主要来直观地理解反向传播算法到底在做什么 官网:https://www.3blue1brown.com 视频:https://www.bilibili.com/vide…...
052_python基于Python高校岗位招聘和分析平台
目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…...
避开这3个坑,你的MAX30102心率数据才更准(Arduino实测经验分享)
避开这3个坑,你的MAX30102心率数据才更准(Arduino实测经验分享) 当你在健康监测或可穿戴设备项目中使用MAX30102传感器时,是否遇到过心率数据忽高忽低、稳定性差的问题?这很可能不是传感器本身的问题,而是你…...
苹果为何拒绝TD-SCDMA特供版iPhone?复盘技术标准与市场时机的战略博弈
1. 项目概述:一场关于苹果与中国移动的世纪猜想2012年的科技圈,空气中弥漫着一股躁动与期待。几乎所有的行业分析师和手机发烧友都在讨论同一个话题:苹果公司是否会为了全球最大的移动运营商——中国移动,专门推出一款支持TD-SCDM…...
手把手教你给天邑TY1608机顶盒刷机(S905L3B芯片,支持RTL8822CS/MT7668无线模块)
天邑TY1608机顶盒刷机全攻略:从零开始玩转S905L3B芯片 第一次拿到天邑TY1608机顶盒时,你可能被它原厂系统的各种限制所困扰——预装软件无法卸载、广告弹窗频繁出现、存储空间严重不足。这款搭载Amlogic S905L3B芯片的设备,配合RTL8822CS或MT…...
AI产品技能库:将顶尖产品智慧注入Claude Code的实战指南
1. 项目概述:当AI助手遇上产品大师的智慧如果你是一名产品经理、创业者,或者任何需要与产品打交道的人,最近可能已经感受到了AI助手带来的效率革命。无论是用Claude Code写代码,还是用ChatGPT梳理思路,这些工具正在成为…...
Windows安卓应用安装器:快速轻量级解决方案终极指南
Windows安卓应用安装器:快速轻量级解决方案终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上轻松安装安卓应用吗?厌倦…...
告别盲调!用STM32CubeMonitor实时可视化你的MCU变量(附Windows/Mac安装包)
告别盲调!用STM32CubeMonitor实时可视化你的MCU变量(附Windows/Mac安装包) 调试嵌入式系统时,最令人抓狂的莫过于反复修改代码、下载、断点查看变量——这种"盲人摸象"式的开发方式,在调试动态系统ÿ…...
从App Inventor到数据解析:打造一个专属的Android蓝牙温湿度监测App(适配HC-05+Arduino)
从零构建Android蓝牙温湿度监测系统:App Inventor与Arduino实战指南 在物联网技术快速普及的今天,将传感器数据可视化呈现已成为许多创客和教育场景中的常见需求。本文将以DHT-11温湿度传感器为核心,通过HC-05蓝牙模块搭建Arduino与Android设…...
从理论到仿真:深入解读Walker星座设计,用STK验证你的卫星通信作业
从理论到仿真:深入解读Walker星座设计,用STK验证你的卫星通信作业 卫星通信系统的设计从来不是纸上谈兵。当你在教科书上看到那些优美的轨道方程和覆盖计算公式时,是否想过如何将它们转化为真实的系统性能验证?这正是STKÿ…...
【Flutter for open harmony 】Flutter三方库Dio网络请求+熬夜记录列表的鸿蒙化适配与实战指南
【Flutter for open harmony 】Flutter三方库Dio网络请求熬夜记录列表的鸿蒙化适配与实战指南 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net 大家好,我是ShineQiu,上海某高校计算机科学与技术专业大二在读学生。这…...
Beyond Compare 5完全激活指南:3种简单方法告别30天试用限制
Beyond Compare 5完全激活指南:3种简单方法告别30天试用限制 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 你是否正在使用Beyond Compare 5这款强大的文件对比工具,却因…...
