Keepalived双机热备——Haproxy搭建web群集

news2024/11/17 3:27:27

一、认识keepalived

keepalived是一个开源的软件,用于实现高可用性和负载均衡。它主要用于在多个服务器之间提供故障转移和负载均衡的功能。keepalived可以监控服务器的状态,并在主服务器发生故障时自动将备份服务器切换为主服务器,以确保服务的连续性。

keepalived的主要特点包括:

  1. VRRP协议支持:keepalived使用虚拟路由冗余协议(VRRP)来实现故障转移。VRRP允许多个服务器共享一个虚拟IP地址,当主服务器不可用时,备份服务器会接管该IP地址。
  2. 健康检查:keepalived可以定期检查服务器的健康状态,例如检查服务器的网络连接、CPU负载、内存使用等。如果服务器的健康状态不正常,keepalived会将其标记为不可用,并将流量转发到其他可用的服务器。
  3. 负载均衡:keepalived还支持基于轮询、加权轮询、源IP哈希等算法的负载均衡。它可以将流量均匀地分发到多个服务器上,提高系统的性能和可扩展性。
  4. 配置灵活:keepalived的配置文件采用简单易懂的语法,可以根据实际需求进行灵活配置。用户可以定义虚拟IP地址、服务器组、健康检查参数等

二、认识Haproxy 

Haproxy是一款可以供高可用性、负载均衡和基于TCP和HTTP应用的代理软件

  • 适用于负载较大的站点
  • 运行在硬件上可支持数以万计的并发连接请求

 三、实验案例

3.1 实验拓扑图:

 

3.2 实验需求:

 实验环境

虚拟机 3台 centos7.9

网卡NAT模式 数量 1

组件包Haproxy nginx(httpd)

设备

IP

备注

Centos01

192.168.160.51

Node1

Centos02

192.168.160.53

Web1

Centos03

192.168.160.54

Web2

3.3 初始配置:

关闭防火墙:

Systemctl disable firewalld --now

关闭 selinux:

setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

 3.4 编译安装Haproxy :

将haproxy安装包上传至node1安装组件 node1配置

yum -y install pcre-devel bzip2-devel gcc gcc-c++ make

 解压缩安装包:

tar zxf haproxy-1.5.19.tar.gz 
cd haproxy-1.5.19
make TARGET=linux26 && make install

 创建主配置文件:

[root@xiao ~]# mkdir /etc/haproxy
[root@xiao ~]# cp examples/haproxy.cfg /etc/haproxy/

添加群集信息:

[root@xiao haproxy-1.5.19]# vim /etc/haproxy/haproxy.cfg 



global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000


listen  web 0.0.0.0:80
        option  httpchk GET /index.html
        balance roundrobin
        server  inst1 192.168.10.53:80 check inter 2000 fall 3
        server  inst2 192.168.10.54:80 check inter 2000 fall 3

 创建群集根目录:

[root@xiao haproxy-1.5.19]# mkdir /usr/share/haproxy

添加 haproxy系统服务:

[root@xiao haproxy-1.5.19]# cp examples/haproxy.init /etc/init.d/haproxy
[root@xiao haproxy-1.5.19]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
[root@xiao haproxy-1.5.19]# chmod +x /etc/init.d/haproxy
[root@xiao haproxy-1.5.19]# chkconfig --add haproxy

[root@xiao haproxy-1.5.19]# systemctl start haproxy    开启服务

3.5 安装Nginx 节点配置将nginx安装包上传至web1和web2:

安装组件:

[root@xiao1 nginx-1.24.0]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make

创建nginx用户 :

[root@xiao1 nginx-1.24.0]# useradd -M -s /sbin/nologin nginx

 解压文件并编译安装:

[root@wei1 nginx-1.24.0]# tar zxf nginx-1.24.0.tar.gz 
[root@wei1 nginx-1.24.0]# cd nginx-1.24.0/
[root@wei1 nginx-1.24.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@wei1 nginx-1.24.0]# make && make install
[root@wei1 nginx-1.24.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

[root@wei1 nginx-1.24.0]# nginx  开启nginx

 

 

 

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

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

相关文章

2024.2.28 网络

思维导图 整理面试题 1、什么是回调函数 答:将函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。 2、结构体和共用体的区别 答:结构体的每个成员都会分配内存,…

快讯|Tubi 更新内容库重新定义自己

在每月一期的 Tubi 快讯中,你将全面及时地获取 Tubi 最新发展动态,欢迎🌟星标关注【比图科技】,一起成长变强! Tubi 更新内容库,重新定义自己 Tubi 近日宣布为数千万用户免费提供备受观众喜爱、获奖无数的…

anaconda指定目录创建环境无效/环境无法创建到指定位置

已经设置目录到D盘 创建环境时还是分配到C盘 可能是指定位置没有开启读写权限,如我在这里安装到了anaconda文件夹,则打开该文件夹的属性->安全->编辑 allusers下的权限全都打勾

android开发电子书,android基础编程

内存泄漏是什么? 内存泄漏即 ML (Memory Leak) 指 程序在申请内存后,当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象 内存泄漏有哪些情况,对应的解决方案? 内存泄漏的原因归根到底就是当需…

redis-RedisTemplate.opsForGeo 的geo地理位置及实现附近的人的功能

redis内部使用的是 zset 数据结构存储,如下 import cn.huawei.VideoApplication; import cn.huawei.domain.Jingqu; import cn.huawei.service.JingquService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired…

【Java程序设计】【C00321】基于Springboot的在线租房和招聘平台(有论文)

基于Springboot的在线租房和招聘平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的在线租房和招聘平台,本系统有管理员、用户、房东以及公司四种角色; 管理员:首页、个人中心…

【DDD】学习笔记-领域驱动设计参考过程模型

通过领域驱动设计魔方,我们从业务、技术与管理三个维度引入了有助于领域驱动设计的方法和模式,同时梳理了影响领域驱动战略设计的架构因素,确定以“四个边界”为核心对领域逻辑进行控制,规定了领域驱动设计团队必须遵循的纪律&…

java常用环境docker安装

配置目录 rocketmqredismysql不配置binlog配置binlog Nacoszookeeper 本文为精简安装,部分不带容器卷映射,仅供以学习使用。 rocketmq nameservice docker run -d -p 9876:9876 --name rmqnamesrv rocketmqinc/rocketmq sh mqnamesrvbroker docker r…

小狐狸chat2.7.2免授权修复版可用版

小狐狸chat2.7.2免授权修复版可用版 在网络上面找了好几个版本不能使用,今天发布这个仔细测试正常使用 主要功能:独立版无限多开支持分销会员充值自己APP打包小程序万能创作MJ绘图多个国内接口 国外很火的ChatGPT,这是一种基于人工智能技术…

LNMP架构的源码编译环境下部署Discuz社区论坛与wordpress博客

目录 一、编译安装Nginx 1、关闭防火墙 2、安装依赖包 3、创建运行用户 4、解压软件包并编译安装 5、软链接路径优化 6、添加Nginx系统服务 二、编译安装Mysql服务 1、安装依赖环境以及源 2、创建运行用户 3、编译安装 4、修改配置文件 5、数据库目录进行权限调整…

Qt SQLite的创建和使用

重点: 1.SQLite创建数据库内容方法 链接:SQLite Expert Personal的简单使用-CSDN博客 2.和数据库进行链接方法 QSqlDatabase DB; //数据库连接bool MainWindow::openDatabase(QString aFile) {DBQSqlDatabase::addDatabase("QSQLITE"); /…

通过多进程并发方式(fork)实现服务器

以下内容为视频学习记录。 1、父进程accept后返回的文件描述符为cfd以及用于创建连接的lfd; 调用fork()创建子进程后,子进程继承cfd,lfd,通过该cfd与连接过来的客户端通信,lfd对子进程来说没用,可以直接close(lfd); 对于父进程来说&#x…

火灾安全护航:火灾监测报警摄像机助力建筑安全

火灾是建筑安全中最常见也最具破坏力的灾难之一,为了及时发现火灾、减少火灾造成的损失,火灾监测报警摄像机应运而生,成为建筑防火安全的重要技术装备。 火灾监测报警摄像机采用高清晰度摄像头和智能识别系统,能够全天候监测建筑内…

【Kafka系列 06】Kafka Producer源码解析

温馨提示:本文基于 Kafka 2.3.1 版本。 一、Kafka Producer 原理图 生产者的 API 使用还是比较简单,创建一个 ProducerRecord 对象(这个对象包含目标主题和要发送的内容,当然还可以指定键以及分区),然后调…

3G 蜂窝移动通信

4 3G 蜂窝移动通信 第三代 (3G) 蜂窝移动通信系统 -1996 年正式标准名称:IMT-2000。 -工作在 2000 MHz 频段,数据率可达 2000 kbit/s(固定站)和 384 kbit/s(移动站)。 -包括中国通信标准化协会 CCSA (C…

云计算与边缘计算:有何不同?

公共云计算平台可以帮助企业充分利用全球服务器来增强其私有数据中心。这使得基础设施能够扩展到任何位置,并有助于计算资源的灵活扩展。混合公共-私有云为企业计算应用程序提供了强大的灵活性、价值和安全性。 然而,随着分布在全球各地的实时人工智能应…

Leetcode 第 385 场周赛题解

Leetcode 第 385 场周赛题解 Leetcode 第 385 场周赛题解题目1:3042. 统计前后缀下标对 I思路代码复杂度分析 题目2:3043. 最长公共前缀的长度思路代码复杂度分析 题目3:3044. 出现频率最高的质数思路代码复杂度分析 题目4:3045. …

【网络那些事】

【云计算】 云计算:把计算资源放在某个地方,并通过互联网暴露出来,让用户可以按需使用计算资源的方式,就是所谓的云计算 云计算的三种服务: 云平台专业名词 日常叫法 亚马逊云叫法 云服务器 ECS (Elas…

鸿运(通天星CMSV6车载)主动安全监控云平台敏感信息泄露漏洞

文章目录 前言声明一、系统简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 鸿运主动安全监控云平台实现对计算资源、存储资源、网络资源、云应用服务进行7*24小时全时区、多地域、全方位、立体式、智能化的IT运维监控,保障IT系统安全、稳定、可靠运行…

Java多线程算法总结

1. 标题三个线程同时运行,依次打印ABC,一共打印10次 算法代码如下: public class ThreadTest {private Object oa new Object();private Object ob new Object();private Object oc new Object();private static final String TAG &quo…