zoukankan      html  css  js  c++  java
  • Haproxy 为 mysql 做负载均衡

    tar zxvf haproxy-1.4.21.tar.gz
    cd haproxy-1.4.21
    uname -r
    
    vim /etc/haproxy.cfg
    
    
    global
            #日志
            log 127.0.0.1    local0
            maxconn 4096
            chroot /tmp
            uid  0
            gid  0
    
            daemon
            nbproc 2
            pidfile logs/haproxy.pid
            #debug   
            #quiet   
    defaults
            log     127.0.0.1       local3
            mode    http
            #option  httplog   
            #option  httpclose   
            option  dontlognull
            #option  forwardfor   
            option  redispatch
            retries 2
            maxconn 2000
            contimeout 3000
            clitimeout 30000
            srvtimeout 30000
            balance roundrobin
            bind-process 1
    #监控状态页配置
    listen stats
            mode http
            bind 0.0.0.0:8080
            stats enable
            stats   uri     /dbstat
            stats   realm Global statistics
            #身份验证
            stats auth admin:hello123
    
    
    listen  mysql_proxy
            #代理端口
            bind 0.0.0.0:33060
            #模式 TCP
            mode tcp
            #调度算法
            balance roundrobin
            #mysql健康检查
            option mysql-check
            #健康检查加上check
            server  s1 192.168.1.42:3306 weight 3 check port 3306 inter 1s rise 2 fall 2
            server  s3 192.168.1.43:3306 weight 3 check port 3306 inter 1s rise 2 fall 2
            
    #启动服务
    /usr/local/haproxy/sbin/haproxy -f /etc/haproxy.cfg
    #杀掉服务
    pkill haproxy
    
    #启动脚本
    vim /etc/init.d/haproxy
    
    ========================================
    #! /bin/sh
    set -e
    
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin
    PROGDIR=/usr/local/haproxy
    PROGNAME=haproxy
    DAEMON=$PROGDIR/sbin/$PROGNAME
    CONFIG=/etc/haproxy.cfg
    PIDFILE=$PROGDIR/logs/$PROGNAME.pid
    DESC="HAProxy daemon"
    SCRIPTNAME=/etc/init.d/$PROGNAME
    
    # Gracefully exit if the package has been removed.
    test -x $DAEMON || exit 0
    
    start()
    {
            echo -n "Starting $DESC: $PROGNAME"
            $DAEMON -f $CONFIG
            echo "."
    }
    
    stop()
    {
            echo -n "Stopping $DESC: $PROGNAME"
            haproxy_pid=cat $PIDFILE
            kill $haproxy_pid
            echo "."
    }
    
    restart()
    {
            echo -n "Restarting $DESC: $PROGNAME"
            $DAEMON -f $CONFIG -p $PIDFILE -sf $(cat $PIDFILE)
            echo "."
    }
    
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart)
            restart
            ;;
      *)
            echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
            exit 1
            ;;
    esac
    
    exit 0
    =================================================
    chmod +x /etc/init.d/haproxy
    
    #启动服务
    /etc/init.d/haproxy start

    参考:

    http://www.2cto.com/database/201412/357835.html

    http://blog.sina.com.cn/s/blog_5f66526e0100om1x.html

  • 相关阅读:
    0427-2
    0427-1
    0426html常用标签属性
    HTML,标签学习
    oracle培训,HTML学习
    第三十七天
    第三十六天
    第三十五天
    第四十三天
    第四十二天
  • 原文地址:https://www.cnblogs.com/storymedia/p/4668177.html
Copyright © 2011-2022 走看看