铁钉百科(HAproxy 铁钉 51CTO技术博客)
导读:标签:HAproxy 休闲 职场...
标签:HAproxy 休闲 职场
原创作品 ,允许转载 ,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明 。否则将追究法律责任 。http://nails.blog.51cto.com/640492/236878
HAPorxy 集群配置
一HAProxy 介绍
反向代理服务器,支持双机热备支持虚拟主机,但其配置简单 ,拥有非常不错的服务器健康检查功能 ,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除 ,故障恢复后再自动将该服务器加入 。有Web图形化的界面 ,可以查看集群的状态 。
新的1.3版本后 ,引入了frontend,backend,frontend根据任意HTTP请求头内容做规则匹配 ,然后把请求定向到相关的backend.
二网络架构
一般采用的网络结构(反向代理)
三配置实例
角色
操作系统
IP地址及对应域名
服务端口
HAproxy
Redhat Linux AS4
eth0 10.0.0.60/24dms.sds.com
eth0 10.0.0.70/24help.sds.com
eth110.0.1.60/24
80
APP Server
Windows
10.0.1.10—15/24
80
需要:
1.访问dms.sds.com时 ,自动分发到集群节点服务器10.0.1.10-15/24 这6台服务器上 。
2.访问help.sds.com时 ,自动分发到服务器 10.0.1.15/24 上(该服务器上有帮助网站) 。
四配置步骤
1.从http://haproxy.1wt.eu 下载HAproxy最新稳定版
2.将下载的文件haproxy-1.3.15.1.tar.gz存放到Linux服务器/usr/share目录 。
3.解压tar –zxvfhaproxy-1.3.15.1.tar.gz
4.重命名解压后的文件夹mv haproxy-1.3.15.1 haproxy
5.cd haproxy
6.make TARGET=linux26#本例Redhat 的内核是2.6 ,请先查看HAproxy 的README
7.make install
8.安装好后就可以配置了 。
9.vi haproxy.cfg
global
maxconn 5120
chroot /usr/share/haproxy#haproxy安装目录
uid 99
gid 99
daemon
quiet
# 通过nbproc多设置几个haproxy并发进程,这样每个进程的task_queue相对就会短很多 ,性能自然就能提高不少
nbproc2
#pidfile /var/run/haproxy-private.pid
defaults
logglobal
mode http
optionhttplog
optiondontlognull
log 127.0.0.1 local3
retries 3
option redispatch
maxconn 2000
contimeout5000
clitimeout50000
srvtimeout50000
listen SDS.DMS.COM 10.0.0.60:80# 监听IP及端口 ,域名是在Web界面显示的标识
mode http
stats uri /haproxy # 监控haproxy状态虚拟目录
stats realm Haproxy\statistics
stats auth gao:gao# 设置状态监控的用户名为gao密码为gao
balance roundrobin# 负载均衡算法
cookie SERVERID insert indirect
option httpclose
option forwardfor
option httpchk HEAD /welcome.htm HTTP/1.0 # 健康检测每一台的IIS根目录存放
#weblocme.htm文件
# 下面是节点服务器
server APP01 10.0.1.10:80 cookie app1inst1 check inter 2000 rise 2 fall 5
server APP02 10.0.1.11:80 cookie app1inst2 check inter 2000 rise 2 fall 5
server APP03 10.0.1.12:80 cookie app1inst3 check inter 2000 rise 2 fall 5
server APP04 10.0.1.13:80 cookie app1inst4 check inter 2000 rise 2 fall 5
server APP05 10.0.1.14:80 cookie app1inst5 check inter 2000 rise 2 fall 5
server APP06 10.0.1.15:80 cookie app1inst6 check inter 2000 rise 2 fall 5
listen Help.SDS.Com10.0.0.70:80 # 监听IP及端口,域名是在Web界面显示的标识
mode http
stats uri /haproxy# 监控haproxy状态虚拟目录
stats realm Haproxy\statistics
stats auth gao:gao#设置状态监控的用户名为gao密码为gao
balance roundrobin# 负载均衡算法
cookie SERVERID insert indirect
option httpclose
option forwardfor
option httpchk HEAD /welcome.htm HTTP/1.0 # 健康检测IIS根目录存放有
#weblocme.htm文件
# 下面是节点服务器
server APP01 10.0.1.15:80 cookie app1inst1 check inter 2000 rise 2 fall 5
9. 配置文件写好后就可以启动了 。
Ifcfg eth0 add 10.0.0.70/24为eth0 添加第二个IP地址
./haproxy –f haproxy.cfg 即可启动程序.
用IE测试 http://sds.dms.com/welcome.htm ,不断刷新是不会显示其它APP服务器的welcome.htm页面 ,需要我们关掉IE,再次访问 http://sds.dms.com/welcome.htm即显示另一台 ,如此反复即可看到每台APP上的welcome.htm
用IE测试 http://help.sds.com 也能显示10.0.0.15 上的帮助网站。
用IE输入: http://sds.dms.com/haproxy 或 http://help.sds.com/haproxy 输入用户名:gao 密码:gao即可看到haproxy的集群状态 ,如下图
五配置haproxy 随Linux系统自启动配置
1.建立一个haproxy 的shell文件 ,用于控制haproxy的启动与关闭
Cd /etc/rc.d/init.d
Vi haproxy
#!/bin/sh
# description: Auto Start and Stop Haproxy Software
# chkconfig: 2345 99 10
start ()
{
cd /usr/share/haproxy
./haproxy -f haproxy.cfg
}
stop ()
{
pid=`ps -ef | grep -v grep | grep haproxy | awk {print $2}`
for ps in $pid
do
kill -9 $ps
done
}
case $1 in
start)start ;;
stop)stop ;;
*)echo "Use ./haproxy {start|stop}" ;;
esac
exit 0
2. chmod 755 haproxy
3. 添加自启动功能 ,在/etc/rc.d/rc.local文件中添加如下内容
Vi /etc/rc.d/rc.local
ifcfg eth0 add 10.0.0.70/24# 为 eth0 添加第2个IP
cd /etc/rc.d/init.d
./haproxy start# 启动haproxy 程序
4. 操作haproxy 的相关命令
cd /etc/rc.d/init.d
./haproxy start# 启动haproxy
./haproxy stop# 停止haproxy
./haproxy restart# 重启动haproxy
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时 ,禁止复制 、盗用、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!