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

目录

1、前期环境准备

1.准备4台主机

1. 设置主机名

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

3. 关闭防火墙和selinux

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

二、配置haproxy(192.168.200.11)服务器

1. 安装haproxy

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( 是一个基于文本的网页浏览器)

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-ens33
 
systemctl restart network
3. 关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
 
 
setenforce 0
 
 
vim /etc/selinux/config 
 
注释加'#' SELINUX=enforcing
 
添加      SELINUX=disabled
4. 全部的服务器完成时间统一
ntpdate cn.ntp.org.cn

二、配置HAproxy(192.168.200.11)服务器

1. 安装HAproxy
yum install haproxy -y

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

删除文件里所有的内容
添加新的配置内容
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


重启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 -y

systemctl start httpd

设置开机自启动
systemctl enable httpd
2. 设置默认主页
web1

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

web2

echo 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
3. 使用elinks访问HAproxy服务器
elinks --dump http://192.168.200.11

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值