使用haproxy做tcp 层的负载均衡
2016-06-12 16:28
465 查看
首先下载haproxy包:
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 install haproxy
添加非本机IP邦定支持
引用
如果是用内网,并且后端服务有绑定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
源码安装
wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.13.tar.gzwget 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 = 1sysctl –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
相关文章推荐
- 负载均衡技术沙龙1期(关于咱的图片)
- 负载均衡沙龙活动第二期现场问答汇集
- 流量引导:网络世界的负载均衡解密
- 流量引导:网络世界的负载均衡解密
- 浅谈sqlserver的负载均衡问题
- asp.net实现负载均衡
- PHP开发负载均衡指南
- Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案
- LVS+Keepalived构建高可用负载均衡(测试篇)
- 简单测试Apache是如何完成负载均衡策略配置
- Apache负载均衡设置方法 mod_proxy使用介绍
- LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)
- Shell脚本实现把进程负载均衡到多核CPU中
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- [Oracle] RAC 之 - 负载均衡深入解析
- windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法
- haproxy+keepalived实现高可用负载均衡(理论篇)
- Keepalived+HAProxy实现MySQL高可用负载均衡的配置
- 理解web服务器和数据库的负载均衡以及反向代理
- 用apache和tomcat搭建集群(负载均衡)