day10-07-Haproxy

安装Haproxy

 yum install haproxy
# haproxy的服务器都是用同样的配置。【需要说明,因为后面访问的是mysql,因此需要使用四层负载均衡,mode需要选择tcp

global

        log /dev/log   local0 info   #日志相关

        log /dev/log   local1 notice

        maxconn 4096

        chroot /var/lib/haproxy

        stats timeout 30s

        user haproxy

        group haproxy

        daemon

        #debug

        #quiet

        #pidfile /usr/local/haproxy/haproxy.pid

        # Default SSL material locations
        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private

        # Default ciphers to use on SSL-enabled listening sockets.
        # For more information, see ciphers(1SSL). This list is from:
        #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
        ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
        ssl-default-bind-options no-sslv3

defaults

        log     global

        mode    tcp        #修改:mode http ---->mode tcp

        option  tcplog     #修改:option httplog--->option tcplog

        option  dontlognull

        #retries 3

        #option redispatch

        #maxconn         2000

        timeout connect 10s    #修改:连接超时时间

        timeout client  60s    #修改:连接客户端超时时间

        timeout server  60s    #修改:连接服务器端超时时间


listen mysql-cluster



        bind *:6666     #代理端口

        mode tcp              #模式 TCP

        option mysql-check           # user root   #mysql健康检查  root为mysql登录用户名

        balance roundrobin            #调度算法

        server mysql1 192.168.1.11:3306 check port 3306   #weight 1 check  inter 1s rise 2 fall 2 #健康检查加上check

        server mysql2 192.168.1.8:3306  check port 3306   #weight 1 check  inter 1s rise 2 fall 2


listen stats     #监控

        mode http

        option httplog

        bind 0.0.0.0:8888

        stats enable

        stats refresh 30s    #设置统计页面自动刷新时间

        stats uri /dbs

        stats realm welcome login\ Haproxy

        stats auth admin:admin

        stats admin if TRUE

# HA配置另一种写法
listen  proxy-mysql 0.0.0.0:23306
        mode tcp
        balance roundrobin
        option tcplog
        option mysql-check user haproxy #在mysql中创建无任何权限用户haproxy,且无密码
        server MySQL1 192.168.1.191:3306 check weight 1 maxconn 2000
        server MySQL2 192.168.1.192:3306 check weight 1 maxconn 2000
        option tcpka
        
        
        
# HA配置另一种写法      
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend mysql
    mode tcp
    bind *:6039
    default_backend back_mysql
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend back_mysql
    mode  tcp
    balance     roundrobin
    server  db1 10.9.8.201:3306 check
    server  db2 10.9.8.223:3306 check 

检测修改文件配置结果

haproxy -f /etc/haproxy/haproxy.cfg -c
Configuration file is valid  (配置有效)

systemctl restart haproxy (重启服务)

验证结果

在浏览器中输入:http://10.0.50.61:8888/dbs
弹出登录对话框:
            用户名:admin 密码为:admin

连接测试

mysql -h 10.0.50.61 -P 6666 -u root -D mysql -p
posted @ 2022-11-24 20:30  oldSimon  阅读(9)  评论(0)    收藏  举报