CentOS7.6 HAproxy-7层负载均衡集群实验2——动静分离实施方案

目录

1、前期环境准备

1.准备6台主机

1. 设置主机名

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

3. 关闭防火墙和selinux

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

二、配置haproxy(192.168.200.11)服务器

1. 安装HAproxy

2. haproxy 配置中分成五部分内容

3. 配置HAproxy(192.168.200.11)

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

 三、配置web服务器

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

2. 设置默认主页

3. 两台服务器安装httpd php服务并启动(192.168.200.54php1  192.168.200.55php2)

4. 设置默认主页

四、测试结果

1..查看HAproxy状态

​编辑

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

​编辑

3. 使用elinks访问HAproxy服务器


1、前期环境准备

1.准备6台主机
IP地址主机名角色内存
192.168.200.10clinent客户端2G
192.168.200.11serverhaproxy服务器2G
192.168.200.23web1wed服务html11G
192.168.200.34web2wed服务html21G
192.168.200.54php1wed服务php11G
192.168.200.55php2wed服务php21G
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
     acl php url_reg  -i  \.php$
     use_backend php-server if  php

     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 1 check inter 2000 rise 2 fall 5
        server html-B web2:80 weight 1 cookie 2 check inter 2000 rise 2 fall 5

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

#global
    log 127.0.0.1 local3 info        # 配置日志记录到本地地址 127.0.0.1,日志级别为 info
    maxconn 4096                     # 最大连接数设置为 4096
    uid nobody                        # 以 nobody 用户身份运行
    gid nobody                        # 以 nobody 组身份运行
    daemon                           # 以守护进程模式运行
    nbproc 1                          # 使用 1 个进程
    pidfile /run/haproxy.pid           # 存储 PID 的文件位置

defaults
    log                global         # 使用全局日志配置
    mode               http           # 模式为 HTTP
    maxconn            2048          # 最大连接数设置为 2048
    retries            3             # 重试次数设置为 3
    option redispatch  # 启用请求重发选项
    contimeout         5000          # 连接超时设置为 5000 毫秒
    clitimeout         50000         # 客户端超时设置为 50000 毫秒
    srvtimeout         50000         # 服务器超时设置为 50000 毫秒
    option abortonclose # 启用客户端关闭连接时中断处理选项

    stats uri /admin?stats    # 统计页面的 URI
    stats realm Private lands # 统计页面的认证域
    stats auth admin:password # 统计页面的认证用户名和密码
    stats hide-version        # 隐藏版本信息

frontend http-in
    bind 0.0.0.0:80               # 监听所有 IP 地址的 80 端口
    mode http                     # 工作模式为 HTTP
    log global                   # 使用全局日志配置
    option httplog                # 启用 HTTP 日志记录
    option httpclose              # 启用 HTTP 连接关闭选项
    acl html url_reg  -i  \.html$ # 定义 acl 规则,匹配 .html URL
    use_backend html-server if html # 如果匹配 .html,则使用 html-server 后端
    acl php url_reg  -i  \.php$   # 定义 acl 规则,匹配 .php URL
    use_backend php-server if php # 如果匹配 .php,则使用 php-server 后端
    default_backend html-server  # 默认使用 html-server 后端

backend html-server
    mode http
    balance roundrobin            # 负载均衡算法为轮询
    option httpchk GET /index.html # HTTP 检查选项,使用 GET 请求检测后端服务
    cookie SERVERID insert indirect nocache # 插入 cookie 以标识服务器
    server html-A web1:80 weight 1 cookie 1 check inter 2000 rise 2 fall 5
    server html-B web2:80 weight 1 cookie 2 check inter 2000 rise 2 fall 5

backend php-server
    mode http
    balance roundrobin            # 负载均衡算法为轮询
    option httpchk GET /index.php  # HTTP 检查选项,使用 GET 请求检测后端服务
    cookie SERVERID insert indirect nocache # 插入 cookie 以标识服务器
    server php-A php1:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
    server php-B php2: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
192.168.200.54 php1
192.168.200.55 php2

 三、配置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
3. 两台服务器安装httpd php服务并启动(192.168.200.54php1  192.168.200.55php2)
 yum install httpd php -y

systemctl start httpd

设置开机自启动
systemctl enable httpd
4. 设置默认主页
php1

echo php1 > /var/www/html/index.php

php2

echo php2 > /var/www/html/index.php

四、测试结果

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

2. 客户端(192.168.200.10)安装elinks( 是一个基于文本的网页浏览器)
yum install -y elinks
3. 使用elinks访问HAproxy服务器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值