Haproxy部署Web群集

HAProxy是一款开源的、高性能的TCP/HTTP负载均衡器和代理服务器,广泛应用于提高网站和应用的可用性和性能。本篇博客将介绍如何使用HAProxy部署一个高可用的Web集群。

 

目录

 

环境准备

安装HAProxy

 配置HAProxy

配置解析

配置Web服务器


环境准备

假设我们有以下服务器:
- **HAProxy节点**:IP 192.168.1.1
- **Web Server 1**:IP 192.168.1.2
- **Web Server 2**:IP 192.168.1.3
- **VIP(虚拟IP)**:192.168.1.100

安装HAProxy

在HAProxy节点上安装HAProxy:

```bash
sudo apt-get update
sudo apt-get install haproxy -y
```

 配置HAProxy

编辑HAProxy的配置文件`/etc/haproxy/haproxy.cfg`。以下是一个基本的配置示例:

```plaintext
global
    log /dev/log local0
    log /dev/log local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5000
    timeout client  50000
    timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

frontend http_front
    bind *:80
    default_backend http_back

backend http_back
    balance roundrobin
    server web1 192.168.1.2:80 check
    server web2 192.168.1.3:80 check

listen stats
    bind *:8080
    stats enable
    stats uri /stats
    stats auth admin:admin
```

配置解析

- **global**和**defaults**部分包含HAProxy的全局配置和默认配置。
- **frontend**部分定义前端配置,绑定在80端口上,接收HTTP请求并将其转发到后端。
- **backend**部分定义后端服务器的配置,使用轮询(roundrobin)算法将请求分发到两台Web服务器上,并启用健康检查(check)。
- **listen**部分配置一个统计页面,监听8080端口,提供统计信息的访问。

 启动和检查HAProxy

启动HAProxy服务:

```bash
sudo systemctl start haproxy
sudo systemctl enable haproxy
```

访问http://192.168.1.1:8080/stats,使用用户名`admin`和密码`admin`登录,可以查看HAProxy的统计信息页面,确保所有配置正确。

配置Web服务器

在Web Server 1和Web Server 2上安装Web服务器(例如Nginx或Apache)并配置简单的HTML页面:

```bash
sudo apt-get update
sudo apt-get install nginx -y
```

在`/var/www/html/index.html`中编辑内容,例如:

```html
<!DOCTYPE html>
<html>
<head>
    <title>Web Server 1</title>
</head>
<body>
    <h1>Hello from Web Server 1</h1>
</body>
</html>

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

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

相关文章

【C++题解】1026 - 求商数和余数

问题&#xff1a;1026 - 求商数和余数 类型&#xff1a;基础问题 题目描述&#xff1a; 输入 a,b 两个整数&#xff0c;编程求出 a 除以 b 得到的商和余数。 输入&#xff1a; 输入一行&#xff0c;只有两个整数(中间有空格)。 输出&#xff1a; 输出只有一行&#xff0c…

【数学】Leetcode 69. x 的平方根【简单】

x 的平方根 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a; 不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。 示…

nginx升级漏洞补丁

nginx漏洞补丁升级 1、安装patch patch未找到命令&#xff0c;请先下载patch-2.7.6.tar.gz。下载路径&#xff1a;https://mirrors.aliyun.com/gnu/patch/ # 解压 tar -zxf patch-2.7.6.tar.gz # 编译、检查并安装 Patch time { ./configure --prefix/usr && make &am…

优思学院|质量管理中如何应用5W1H或5W2H方法?

5W1H或者5W2H其实是一种"工作方式"&#xff0c;它不是"思考方法"&#xff0c;这种工作方式是通过回答“什么&#xff08;What&#xff09;&#xff1f;为什么&#xff08;Why&#xff09;&#xff1f;谁&#xff08;Who&#xff09;&#xff1f;何时&#…

信创国产化全家桶(统信UOS操作系统、瀚高数据库、东方通、电科网安、卫士通、海康威视国产视频插件arm、x86、mips)解决方案

序言&#xff1a; 最近由国产化项目&#xff0c;需要全套信创产品序列&#xff0c;涉及国产化软件和硬件的整合集成&#xff0c;后端工程是spring boot2&#xff0c;前端工程是vue2 &#xff0c;记录分享一下&#xff1a; 1、国产化操作系统统信uos 后端java工程spring boot…

求解FAT表大小

540M/1K 540k 540 * 1024 b 512k对应2的19次方<540k<1024k对应2的20次方 取比540k大的1024k 八位一个字节 20对应2.5个字节 所以FAT占用 2.5*5401350k 1.2G/1k1.2M 1M1024k对应2的20次方<1.2M<2M对应2的21次方 取2M 21/8是循环小数不可以直接用 所以四舍五…

动态规划以及分治算法的例子

动态规划&#xff08;Dynamic Programming, DP&#xff09; 是一种在数学、计算机科学和经济学中使用的&#xff0c;通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。 动态规划的核心概念 最优子结构…

什么电脑录屏软件好用?这里有3款超实用推荐!

在当今数字化时代&#xff0c;电脑录屏软件已经成为了人们日常学习和工作中不可或缺的工具。无论是录制游戏实况、制作教程视频&#xff0c;还是保存线上会议的内容&#xff0c;一款好用的电脑录屏软件都显得尤为重要。可是什么电脑录屏软件好用呢&#xff1f;本文将为大家介绍…

Redis-数据类型-Set(不允许重复)

文章目录 1、查看redis是否启动2、通过客户端连接redis3、切换到2数据库4、给key指定的set集合中存入数据&#xff0c;set会自动去重5、返回可以指定的set集合中所有的元素6、返回集合中元素的数量(set cardinality)7、检查当前指定member是否是集合中的元素8、从集合中删除元素…

文件扫描工具哪个好?便捷的文件扫描工具推荐

对于初入职场的大学毕业生&#xff0c;申请就业补贴是一项不可忽视的福利。 它不仅能够为新生活带来经济上的缓解&#xff0c;也有助于职业生涯的顺利起步。面对申请过程中需提交的文件&#xff0c;如纸质劳动合同&#xff0c;不必烦恼。市面上众多文件扫描软件能助你一臂之力…

关于html内嵌vuejs使用iframe无法加载vue实例解决方案,使用bootstrap再iframe

描述&#xff1a;html内嵌vuejs&#xff0c;manage页面也采用vue进行iframe跳转&#xff0c;这个时候无法加载vue实例。具体原因不明&#xff0c;解决方案如下&#xff1a;bootstrap做管理页面&#xff0c;再通过iframe加载html内嵌vue的页面 <!DOCTYPE html> <html …

【Web APIs】DOM 文档对象模型 ④ ( querySelector 函数 | querySelectorAll 函数 | NodeList 对象 )

文章目录 一、querySelector 函数1、querySelector 函数简介2、完整代码示例 二、querySelectorAll 函数1、querySelectorAll 函数简介2、完整代码示例 三、NodeList 对象1、NodeList 对象简介2、完整代码示例 本博客相关参考文档 : WebAPIs 参考文档 : https://developer.moz…

如何编写和执行高效的测试计划

如何编写和执行高效的测试计划 1. 测试计划概述2. 测试阶段详解3. 测试计划模板4. 关键注意事项总结 1. 测试计划概述 测试计划是指导整个测试过程的重要文档&#xff0c;其中包含了测试策略、资源分配、进度安排以及风险评估等内容。 一个完善的测试计划应当包括以下几个主要…

【Hadoop大数据技术】——期末复习(冲刺篇)

&#x1f4d6; 前言&#xff1a;快考试了&#xff0c;做篇期末总结&#xff0c;都是重点与必考点。 题型&#xff1a;简答题、编程题&#xff08;Java与Shell操作&#xff09;、看图分析题。题目大概率会从课后习题、实验里出。 课本&#xff1a; 目录 &#x1f552; 1. HDF…

Spring 框架中的 IOC(控制反转)是什么意思?

"控制反转" 是一种编程设计原则&#xff0c;简称为IoC&#xff0c;它是Spring框架中的核心原理之一。在直接翻译成"控制反转"这个名字可能有些混淆&#xff0c;实际上&#xff0c;它描述的是一个设计思想&#xff0c;即把传统的程序中由程序员显式管理的资…

FreeRTOS学习 -- 时间管理

在使用 FreeRTOS 的过程中通常会在一个任务函数中使用延时函数对这个任务延时&#xff0c;当执行延时函数的时候会进行任务切换&#xff0c;并且此任务就会进入阻塞态&#xff0c;直到延时完成&#xff0c;任务重新进入就绪态。 FreeRTOS 延时函数 1、函数 vTaskDelay() 在F…

Redis--延时双删策略

延时双删策略的核心目的是解决在高并发环境下可能出现的短暂不一致性问题。让我们来详细看一下在极端并发情况下&#xff0c;为什么需要延时双删。 更复杂的并发场景 假设我们有如下更复杂的并发场景&#xff1a; 用户A将库存从100更新为50&#xff0c;并删除缓存。用户B在用…

用Nuitka打包 Python,效果竟如此惊人!

目录 为什么选择Nuitka&#xff1f; Nuitka的工作原理 Nuitka的工作流程大致如下&#xff1a; 安装Nuitka 实战案例 示例代码 打包程序 运行可执行文件 进阶技巧 优化选项 多文件项目 打包第三方库 使用Python开发一个程序后&#xff0c;将Python脚本打包成独立可执…

Milvus向量数据库:处理和分析大规模向量数据

目录 一 Milvus概述 性能 可扩展性 易用性 二 Milvus的核心技术 1 向量索引 HNSW IVF PQ 2 GPU加速 3 分布式架构 分布式 三 深入了解Milvus的技术细节 1 存储机制 持久化存储 内存存储 2 数据导入与导出 批量导入 实时导入 3 高可用性与容灾机制 数据副本…

由浅入深,走进深度学习(2)

今天分享的学习内容主要就是神经网络里面的知识啦&#xff0c;用到的框架就是torch 在这里我也是对自己做一个学习记录&#xff0c;如果不符合大家的口味&#xff0c;大家划走就可以啦 可能没有什么文字或者原理上的讲解&#xff0c;基本上都是代码&#xff0c;但是我还是想说…