ubuntu下使用haproxy做tcp 层的负载均衡

本文详细介绍如何在Ubuntu系统上安装并配置HAProxy负载均衡器。包括下载安装包、编译安装、配置文件详解及日志查看等步骤,并提供平滑重启命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先下载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`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值