博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
haproxy做tcp 层的负载均衡
阅读量:4971 次
发布时间:2019-06-12

本文共 2204 字,大约阅读时间需要 7 分钟。

首先下载haproxy包:

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.13.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

然后进行配置:

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

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

但是有一个问题, 不能看到log.     是因为我没有启动syslog.

在ubuntu下, 需要启动的是rsyslogd.

我的机器上没有安装,先安装rsyslogd.

apt-get install rsyslog

安装完成之后,配置rsyslog

vi /etc/rsyslog.d/haproxy.conf

加入以下内容:

$ModLoad imudp

$UDPServerRun 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`

转载于:https://www.cnblogs.com/ylqmf/archive/2012/10/24/2736979.html

你可能感兴趣的文章
Activity生命周期
查看>>
Python3基本数据类型
查看>>
hashlib模块 加密
查看>>
nodejs安装后在git bash 中输入node -v验证是否安装成功,但是提示:sh.exe": node :command not found,怎么解决?...
查看>>
jdbc之statement 与 preparedment
查看>>
Django(六)Session、CSRF、中间件
查看>>
【转】每天一个linux命令(11):nl命令
查看>>
第七周学习进度条
查看>>
抽象类与接口
查看>>
poj 1236 强联通分量
查看>>
C阅读与学习
查看>>
python运维之saltstack方式
查看>>
[转]关于Web前端开发,附:(百度web前端笔试面试题目)
查看>>
【转】WPF 从FlowDocument中找到Hyperlink
查看>>
python AES CBC模式加密
查看>>
Spring web flow的意义
查看>>
python面向对象编程基本规则
查看>>
Yii 2.x html 代码压缩
查看>>
文本编辑器激活系列(二):UltraEdit安装、激活、汉化教程
查看>>
安装redhat6.5虚拟机、做快照
查看>>