Haproxy的Tcp代理搭建

一、安装说明

1、我们在192.168.110.66机器上搭建haproxy

2、haproxy代理端口为6379

二、操作步骤

1、下载源码包

https://www.haproxy.org/download/1.7/src/haproxy-1.7.9.tar.gz

2、安装

(1)解压

[root@localhost ~]# tar -xvzf haproxy-1.7.9.tar.gz

[root@localhost ~]# cd haproxy-1.7.9

(2)创建目录

[root@localhost haproxy-1.7.9]# mkdir -p /usr/local/haproxy

(3)安装

[root@localhost haproxy-1.7.9]# yum groupinstall -y "Development Tools"

[root@localhost haproxy-1.7.9]# yum install -y openssl openssl-devel

[root@localhost haproxy-1.7.9]# uname -a

[root@localhost haproxy-1.7.9]# make TARGET=linux26 USE_OPENSSL=1 ADDLIB=-lz  #此处编译的时候需要让haproxy支持SSL模块

[root@localhost haproxy-1.7.9]# make install PREFIX=/usr/local/haproxy

(4)安装完成之后查看版本

[root@i-bapxgqlw examples]# /usr/local/haproxy/sbin/haproxy -v

HA-Proxy version 1.7.9 2017/08/18

Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>

[root@i-bapxgqlw examples]#

复制haproxy到/usr/sbin/下

[root@i-bapxgqlw examples]#cp /usr/local/haproxy/sbin/haproxy /usr/sbin/

(5)设置启动脚本

复制haproxy脚本到/etc/init.d下

[root@ceshi haproxy-1.7.9]# cd /root/haproxy-1.7.9/examples/

[root@i-bapxgqlw examples]# cp haproxy.init /etc/init.d/haproxy

赋予权限

[root@i-bapxgqlw examples]# chmod 755 /etc/init.d/haproxy

创建系统账号

[root@i-bapxgqlw examples]# useradd -r haproxy

3、创建配置文件

[root@localhost ~]# mkdir /etc/haproxy

[root@localhost ~]# vim /etc/haproxy/haproxy.cfg

global

        log 127.0.0.1   local0

        log 127.0.0.1   local1 notice

        #log loghost    local0 info

        maxconn 4096

        chroot /usr/local/haproxy

        uid 99

        gid 99

        daemon

        #debug

        #quiet

 

defaults

        log     global

        mode    tcp

        option  redispatch

        option  dontlognull

        retries 2

        maxconn 2000

        balance roundrobin

timeout client 50s                        #客户端超时

        timeout server 50s                        #服务器超时

        timeout connect 5s                        #连接超时

listen  proxy

bind 192.168.110.66:6379   #对client提供的VIP

        server redis_01 192.168.110.56:7000 check inter 2000 rise 2 fall 5     #我这里转发的是主节点,当然这里也可以添加从节点的端口

        server redis_02 192.168.110.63:7004 check inter 2000 rise 2 fall 5

4、启动haproxy

[root@localhost ~]#/etc/init.d/haproxy start

三、连接测试

(1)使用haproxy代理服务器的ip加代理端口连接redis

[root@localhost ~]# redis-cli -h 192.168.110.66 -c -p 6379

192.168.110.66:6379> KEYS *

1) "name"

192.168.110.66:6379> KEYS *

1) "name"

192.168.110.66:6379> set name robin

OK

192.168.110.66:6379> get name

"robin"

192.168.110.66:6379>

(2)可以正常连接证明配置无误

(3)我将haproxy中的7000节点关闭之后,使用代理方式连接redis正常,证明实现了高可用

原文地址:https://www.cnblogs.com/bazingafraser/p/8579512.html