CentOS7.6 HAproxy-7层负载均衡集群——实施方案

embedded/2024/9/23 23:15:09/

目录

1、前期环境准备

1.准备4台主机

1. 设置主机名

2. 设置IP地址然后重启网卡

3. 关闭防火墙和selinux

4. 全部的服务器完成时间统一

haproxy(192.168.200.11)%E6%9C%8D%E5%8A%A1%E5%99%A8-toc" style="margin-left:40px;">二、配置haproxy(192.168.200.11)服务器

haproxy-toc" style="margin-left:160px;">1. 安装haproxy

haproxy%20%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%88%86%E6%88%90%E4%BA%94%E9%83%A8%E5%88%86%E5%86%85%E5%AE%B9-toc" style="margin-left:160px;">2. haproxy 配置中分成五部分内容

3. 配置HAproxy(192.168.200.11)

配置文件内容注释(详细内容还请自行查询)

4. 设置HTTP服务器IP地址映射主机名

三、配置HTTP服务器

1. 两台服务器安装httpd服务并启动(192.168.200.23web1  192.168.200.34web2)

2. 设置默认主页

四、测试结果

1. 客户端(192.168.200.10)安装elinks( 是一个基于文本的网页浏览器)

haproxy%E6%9C%8D%E5%8A%A1%E5%99%A8-toc" style="margin-left:160px;">2. 使用elinks访问haproxy服务器


1、前期环境准备

1.准备4台主机
IP地址主机名角色内存
192.168.200.10clinent客户端2G
192.168.200.11serverHAproxy服务器2G
192.168.200.23web1web服务12G
192.168.200.34web2web服务22G
1. 设置主机名
hostnamectl set-hostname +主机名su
2. 设置IP地址然后重启网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33systemctl restart network
3. 关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalldsetenforce 0vim /etc/selinux/config 注释加'#' SELINUX=enforcing添加      SELINUX=disabled
4. 全部的服务器完成时间统一
ntpdate cn.ntp.org.cn

haproxy(192.168.200.11)%E6%9C%8D%E5%8A%A1%E5%99%A8">二、配置HAproxy(192.168.200.11)服务器

haproxy">1. 安装HAproxy
yum install haproxy -y

haproxy%20%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%88%86%E6%88%90%E4%BA%94%E9%83%A8%E5%88%86%E5%86%85%E5%AE%B9">2. haproxy 配置中分成五部分内容

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

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

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

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

Listen :frontend和backend的组合体。

3. 配置HAproxy(192.168.200.11)

vim /etc/haproxy/haproxy.cfg删除文件里所有的内容
添加新的配置内容
globallog 127.0.0.1 local3 infomaxconn 4096uid nobody
#       uid 99gid nobody
#       gid 99daemonnbproc 1pidfile /run/haproxy.pid
defaultslog                globalmode       httpmaxconn 2048retries         3option  redispatchcontimeout      5000clitimeout          50000srvtimeout          50000
#timeout connect 5000
#timeout client 50000
#timeout server 50000option abortonclosestats uri /admin?statsstats realm Private landsstats auth admin:passwordstats hide-versionfrontend http-inbind 0.0.0.0:80mode httplog globaloption httplogoption httpcloseacl html url_reg  -i  \.html$use_backend html-server if  htmldefault_backend html-serverbackend html-servermode httpbalance roundrobinoption httpchk GET /index.htmlcookie SERVERID insert indirect nocacheserver html-A web1:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5server html-B web2:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5重启haproxy服务
systemctl start haproxy.service
配置文件内容注释(详细内容还请自行查询)

# 全局设置(global)
global
    # 日志配置,发送到本地的 syslog 服务
    log 127.0.0.1 local3 info
    # 最大连接数
    maxconn 4096
    # 运行用户和用户组
    uid nobody
    gid nobody
    # 守护进程模式运行
    daemon
    # 进程数
    nbproc 1
    # PID 文件位置
    pidfile /run/haproxy.pid

# 默认设置(defaults)
defaults
    # 使用全局日志配置
    log global
    # 工作模式为 HTTP
    mode http
    # 前端最大连接数
    maxconn 2048
    # 请求重试次数
    retries 3
    # 启用请求重新分发
    option redispatch
    # 连接超时时间(毫秒)
    contimeout 5000
    # 客户端超时时间(毫秒)
    clitimeout 50000
    # 服务器超时时间(毫秒)
    srvtimeout 50000
    # 断开连接选项
    option abortonclose

    # 统计页面配置
    stats uri /admin?stats
    stats realm Private lands
    stats auth admin:password
    stats hide-version

# 前端配置(frontend http-in)
frontend http-in
    # 监听地址和端口
    bind 0.0.0.0:80
    # 工作模式
    mode http
    # 日志配置
    log global
    # 启用 HTTP 日志
    option httplog
    # 启用 HTTP 连接关闭选项
    option httpclose
    # ACL 匹配 .html 结尾的请求
    acl html url_reg -i \.html$
    # 使用后端条件
    use_backend html-server if html
    # 默认后端
    default_backend html-server

# 后端配置(backend html-server)
backend html-server
    # 工作模式
    mode http
    # 负载均衡算法
    balance roundrobin
    # HTTP 健康检查
    option httpchk GET /index.html
    # Cookie 会话保持
    cookie SERVERID insert indirect nocache
    # 后端服务器定义:服务器ID,避免rr算法将客户机请求转发给其他服务器 ,对后端服务器的健康状况检查间隔为2000毫秒,连续2次健康检查成功,则认为是有效的,连续5次健康检查失败,则认为服务器宕机
    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

4. 设置HTTP服务器IP地址映射主机名
vim /etc/hosts原内容不动添加
192.168.200.23 web1
192.168.200.34 web2

三、配置web服务器

1. 两台服务器安装httpd服务并启动(192.168.200.23web1  192.168.200.34web2)
 yum install httpd -ysystemctl start httpd设置开机自启动
systemctl enable httpd
2. 设置默认主页
web1echo web1 > /var/www/html/index.htmlweb2echo web2 > /var/www/html/index.html

四、测试结果

1..查看HAproxy状态
http://192.168.200.11/admin?stats

2. 客户端(192.168.200.10)安装elinks( 是一个基于文本的网页浏览器)
yum install -y elinks
haproxy%E6%9C%8D%E5%8A%A1%E5%99%A8">3. 使用elinks访问HAproxy服务器
elinks --dump http://192.168.200.11


http://www.ppmy.cn/embedded/94932.html

相关文章

无人机之电池注意事项

1、外场作业时,电池一定要放置在阴凉处,避免太阳直射; 2、刚作业完的电池发热严重时,请降至室温再充电; 3、注意电池状态,一旦发现电池出现鼓包、漏液等现象,必须马上停止使用; 4…

Golang编译-如何忽略某些文件去编译

在 Go 语言中,编译好的二进制文件不会被再次加入到编译过程中。Go 编译器只会编译源代码文件(如 .go 文件),而不会将已经编译好的二进制文件(如可执行文件或静态库)作为输入来进行编译。 详细解释&#xf…

docker的安装和常用命令

docker的安装和常用命令 安装老版本新版本 镜像源配置常用命令基本命令清理文件复制构建镜像上传镜像 补充权限不足无目录权限无用户权限 容器访问jenkins推送镜像失败修改主机名编写Dockerfile 注:这里的安装是针对于cetnos7。 安装 老版本 安装老版本可能遇到报…

记录一次内网dns解析失败的排查

业务场景大致是:新建内网DNS->配置解析记录->绑定vpc->在VPC下打开DHCP选项集->DHCP选项集里配置内网DNS的IP地址并绑定VPC ;但是测试内网DNS没生效。 解决方案:配置了DHCP选项集以后,云主机需要重启一下网卡&#x…

Redis18-Redis数据结构

目录 动态字符串SDS IntSet Dict ZipList QuickList SkipList RedisObject 五种数据类型 String List Set ZSet Hash 动态字符串SDS Redis构建了一种新的字符串结构,称为简单动态字符串(Simple Dynamic String),简称…

三十六、【人工智能】【机器学习】【监督学习】- Bagging算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

Web Image scr图片从后端API获取基本实现

因系统开发中需求,会有页面显示图片直接从后端获取后显示,代码如下: 后端: /*** 获取图片流* param response* param fileName*/RequestMapping(value"getImgStream",method RequestMethod.GET)public void getImgStr…

贪心算法part03

134 加油站 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行…