当前位置: 首页 > article >正文

搭建HAproxy----7层负载均衡集群

目录

一、HAproxy的特点

二、环境准备

1、准备4台linux,关闭防火墙、selinux、配置yum源

2、全部的服务器完成时间统一

3、web1 & web2 创建测试页面

4、haproxy主机安装haproxy

 5、域名解析

6、配置HAproxy

7、启动haproxy

三、测试

1.配置域名解析

3.测试结果


一、HAproxy的特点

1.支持tcp / http 两种协议层的负载均衡,使得其负载均衡功能非常丰富。

2.支持8种左右的负载均衡算法,尤其是在http模式时,有许多非常实在的负载均衡算法,适用各种需求。

3.性能非常优秀,基于事件驱动的链接处理模式及单进程处理模式(和Nginx类似)让其性能卓越。

4.处理模式

单进程处理模式:所有客户端连接全部都由同一个服务进程来处理,目标就是等待连接,来一个分配一个,主要消耗cpu

多线程处理模式:多线程模式消耗内存,会限制并发而且多线程需要进程间通信,也会消耗相当多的cpu资源

5.拥有一个功能出色的监控页面,实时了解系统的当前状况。

6.功能强大的ACL支持,给用户极大的方便。

二、环境准备

1、准备4台linux,关闭防火墙、selinux、配置yum源

此步骤参考该链接前两个步骤https://blog.csdn.net/qq_73990369/article/details/142148343?spm=1001.2014.3001.5501

1.Client

192.168.229.11/24 (真实机或虚拟机均可做客户端)

2.HAproxy

192.168.229.12/24

3.web1

192.168.229.13/24

4.web2

192.168.229.14/24

2、全部的服务器完成时间统一

ntpdate 时间服务器ip         date查看时间

ntpdate ntp.aliyun.com

date

3、web1 & web2 创建测试页面

yum install httpd -y

web1

echo web1 > /var/www/html/index.html

web2

echo web2 > /var/www/html/index.html

启动、开机自启动

systemctl start httpd

systemctl enable httpd

测试

输入  http://192.168.229.13:80

输入  http://192.168.229.14:80

4、haproxy主机安装haproxy

yum install epel-release -y
yum install haproxy -y

 5、域名解析

在haproxy主机

vim /etc/hosts

添加以下内容

192.168.229.13 web1
192.168.229.14 web2

6、配置HAproxy

vim /etc/haproxy/haproxy.cfg 

haproxy 配置中分成五部分内容

global: 设置全局配置参数,属于进程的配置,通常是和操作系统相关。

defaults:配置默认参数,这些参数可以被用到frontend,backend,Listen组件;

frontend:接收请求的前端虚拟节点,Frontend可以更加规则直接指定具体使用后端的backend;

backend:后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器;

Listen :frontend和backend的组合体。

配置示例:

global
	log 127.0.0.1 local3 info
	maxconn 4096
        uid nobody
#       uid 99
        gid nobody
#       gid 99
	daemon
	nbproc 1
	pidfile /run/haproxy.pid
defaults
	log		   global
	mode	   http
	maxconn 2048
	retries 	3
	option	redispatch
	contimeout	5000
	clitimeout	    50000
	srvtimeout	    50000
#timeout connect 5000
#timeout client 50000
#timeout server 50000
    option abortonclose

    stats uri /admin?stats
    stats realm Private lands
    stats auth admin:password
    stats hide-version

frontend http-in
	bind 0.0.0.0:80
	mode http
	log global
	option httplog
	option httpclose
     acl html url_reg  -i  \.html$
     use_backend html-server if  html
     default_backend html-server

backend html-server
	mode http
	balance roundrobin
	option httpchk GET /index.html
	cookie SERVERID insert indirect nocache
	server html-A web1:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
	server html-B web2:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5

7、启动haproxy

systemctl start haproxy.service

三、测试

在Client客户端

1.配置域名解析

vim /etc/hosts

添加以下内容

192.168.229.12 haproxy
yum install -y elinks

3.测试结果

elinks --dump http://haproxy/index.html


http://www.kler.cn/news/319162.html

相关文章:

  • FDA辅料数据库在线免费查询-药用辅料
  • 灵当CRM multipleUpload.php 文件上传致RCE漏洞复现
  • 双11好物推荐有哪些?五大双十一好货推荐!
  • PHP如何从字符串中删除转义字符
  • 抽奖拼团卷轴模式系统开发小程序源代码解析
  • Flask 第十二课 -- 错误处理
  • 下水道内缺陷识别检测数据集 yolo数据集 共2300张
  • LeetCode2207解题思路
  • 双十一买什么好?五款数码好物推荐!
  • 毕业设计选题:基于ssm+vue+uniapp的面向企事业单位的项目申报小程序
  • 1.3 MySql的用户管理
  • 电脑如何录屏?无水印、高清晰度电脑录屏教程
  • 『功能项目』QFrameWork道具栏物品生成【64】
  • thinkphp8 从入门到放弃(后面会完善用到哪里写到哪)
  • C#图像爬虫实战:从Walmart网站下载图片
  • python常见的魔术方法
  • 对FPGA加载过程中不同寄存器初始化方式现象的分析
  • 基于PHP的CRM管理系统源码/客户关系管理CRM系统源码/php源码/附安装教程
  • 免费分享必看!AI合规常见问题解答(二)
  • java之斗地主部分功能的实现
  • 修改Linux服务器系统语言
  • 深入解析Debian与Ubuntu:技术特点与用户使用指南
  • Git 详细安装教程(详解 Git 安装过程的每一个步骤)
  • Python 课程19-FastAPI
  • 开源 AI 智能名片与 S2B2C 商城小程序:嫁接权威实现信任与增长
  • 深入解析:HTTP 和 HTTPS 的区别
  • 51单片机开关电路+限位+舵机
  • 【玉米田】
  • Springboot多种请求参数
  • Cloudera 安装不再难:下载安装全流程指南