您的位置:首页 > 理论基础 > 计算机网络

使用haproxy做tcp 层的负载均衡

2016-06-12 16:28 465 查看
首先下载haproxy包:

源码安装

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.13.tar.gz

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz

安装:tar zxvf haproxy-1.4.13.tar.gz

make TARGET=linux26 PREFIX=/usr/local/haproxy  ##我的系统内核为2.6,所以target=linux26

make install PREFIX=/usr/local/haproxy

#

我是直接yum安装

yum install haproxy

添加非本机IP邦定支持

引用

vi /etc/sysctl.conf

net.ipv4.ip_nonlocal_bind = 1

sysctl –p

如果是用外网,则不需要用这个

如果是用内网,并且后端服务有绑定IP地址,必须要用这个步骤

#

然后进行配置:

vi /etc/haproxy/haproxy.cfg

global

daemon

nbproc 1

pidfile /var/run/haproxy.pid

##默认配置

defaults

mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK

retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置

option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器

option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接

maxconn 4096 #默认的最大连接数

timeout connect 5000ms #连接超时

timeout client 30000ms #客户端超时

timeout server 30000ms #服务器超时

#timeout check 2000 #=心跳检测超时

log 127.0.0.1 local0 err #[err warning info debug]

##统计页面配置

listen admin_stats

bind 0.0.0.0:1080 #监听端口

mode http #http的7层模式

option httplog #采用http日志格式

#log 127.0.0.1 local0 err

maxconn 10

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

stats uri /stats #统计页面url

stats realm XingCloud\ Haproxy #统计页面密码框上提示文本

stats auth admin:admin #统计页面用户名和密码设置

stats hide-version #隐藏统计页面上HAProxy的版本信息

##test1配置

listen test1

bind 0.0.0.0:90

mode tcp

#maxconn 4086

#log 127.0.0.1 local0 debug

server s1 10.18.138.201:80

server s2 10.18.102.190:80

server s3 10.18.102.189:80

server s4 10.18.102.188:80

server s5 10.18.102.187:80

##frontend配置

##test2配置

listen test2

bind 0.0.0.0:91

mode tcp

#maxconn 4086

#log 127.0.0.1 local0 debug

server s1 10.18.138.130:80 weight 1

server s2 10.18.138.201:8080 weight 6

##frontend配置

ok. 启动haproxy.

haproxy /etc/haproxy/haproxy.cfg

马上试试, 发现负载已经成功了。

配置keepalived

yum install keepalived

安装完成之后,配置rsyslog

vi /etc/rsyslog.d/haproxy.conf

加入以下内容:

ModLoadimudpUDPServerRun 514

local0.* /var/log/haproxy.log

保存, 重启rsyslogd.

restart rsyslogd

ok.现在你就可以看到日志了。

试试看。

tail -f /var/log/haproxy.log

最后,再加一个平滑重启的命令:

haproxy -f /etc/haproxy/haproxy.cfg -sf
cat /var/run/haproxy.pid
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  负载均衡