使用haproxy搭建负载均衡(个人学习实践)

安装

一、虚拟机开启之后先固定IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33

  1. 将BOOTPROTO改为statiic

  2. 并在最后新增下面代码:

    IPADDR=这里填写需要固定的IP
    NETMASK=对应虚拟机的子网掩码
    GATEWAY=对应虚拟机的网关  	//子网掩码和网关的获取自行百度,使用的vmware
    
  3. 修改文件保存之后手动运行ifup ens33启动网卡
    ---------这里是我自己的系统版本,正常的话使用service network restart重启网卡)

  4. 使用ip a应该能看到刚刚设置的IPADDR【inet 192.168.1.180/24】(如果启动失败,则重新修改)

  5. 运行vi /etc/profile在最后面增加ifup ens33下次虚拟机重启就自动开启网卡了(最好不要重启,因为我这边使用的是本地桥接网络,所以每次重启之后要重新确认IP是不是对的,所有之后我都是把虚拟机一直挂着)

  6. 有必要的话可以关闭防火墙:

    systemctl stop firewalld
    service  iptables stop
    systemctl disable firewalld
    chkconfig iptables off
    

二、虚拟机直接运行以下代码:

  1. 安装haproxy负载均衡器

    yum install haproxy -y
    
  2. 配置haproxy配置文件,目录:/etc/haproxy/haproxy.cfg

    # 全局配置
    global
    	# 链接服务器配置
        log         127.0.0.1 local2	
        # 工作目录
        chroot      /var/lib/haproxy
        pidfile     /var/run/haproxy.pid
        # 一个负载均衡服务器最大连接数
        maxconn     4000
        # 用户
        user        haproxy
        # 分组
        group       haproxy
        # 以守护进程的方式运行
        daemon
        stats socket /var/lib/haproxy/stats
    
    # 默认配置
    defaults
    	# 以HTTP/TCP方式发送响应或请求
        mode                   tcp
        
        log                     global
        option                  tcplog
        option                  dontlognull
        option http-server-close
        option                  redispatch
        retries                 3
        # 链接超时时间配置
        timeout http-request    10s
        timeout queue           1m
        timeout connect         10s
        timeout client          1m
        timeout server          1m
        timeout http-keep-alive 10s
        timeout check           10s
        maxconn                 3000
    
    # 要监听的服务
    frontend    mysql
    	# 允许哪些IP连接
        bind        0.0.0.0:3307
        mode       tcp
        log             global
        default_backend         mysql_server
    
    # 要连接的服务
    backend     mysql_server
        balance     roundrobin # 轮询算法
        server  mysql1 需要列入负载均衡的服务器IP:3306 check inter 5s rise 2 fall 3
        server  mysql2 需要列入负载均衡的服务器IP:3306 check inter 5s rise 2 fall 3
    
    # 监听信息,可视化界面配置
    listen stats
        mode http
        bind 0.0.0.0:1080
        stats enable
        stats hide-version
        stats uri /haproxyadmin?stats
        stats realm Haproxy\ Statistics
        stats auth admin:admin
        stats admin if TRUE
    
    1. 启动haproxy负载均衡3
    cd /
    ./usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg
    
    1. 浏览器访问可视化地址:http://虚拟机IP:1080/haproxyadmin?stats
      使用haproxy搭建负载均衡(个人学习实践)_第1张图片
    2. 本地CMD运行代码测试负载均衡是否搭建成功
      mysql -h负载均衡搭建时固定的IP -u数据库账户 -p密码 -P配置的端口 -e "show variables like 'server_id'";
      
      使用haproxy搭建负载均衡(个人学习实践)_第2张图片

你可能感兴趣的:(个人学习笔记,数据库,负载均衡)