负载均衡7层haproxy(提供软件包)
HaproxyClient eth0:192.168.122.1/24
HAproxy eth0:192.168.122.254/24
HTML1 eth0 192.168.122.10/24
HTML2 eth0192.168.122.20/24
PHP 1 eth0 192.168.122.30/24
PHP2 eth0 192.168.122.40/24
HTML 1和2
# yum install httpd
分别创建测试页面index.html ,开启服务
PHP1和2
# yum install httpd php
分别创建测试页面index.php ,开启服务
安装HAproxy
# tar xf haproxy-1.4.20.tar.gz
# cd haproxy-1.4.20
# make TARGET=linux26PREFIX=/usr/local/haproxy install
生成HAproxy配置文件
# cd /usr/local/haproxy/
# mkdir conf logs
# cd conf/
# vim haproxy.cfg
global
log127.0.0.1 local3 info #日志服务器
maxconn4096 #单个进程的最大并发连接数
uidnobody #用户身份
gidnobody #组身份
daemon #守护进程方式后台运行
nbproc1 #工作进程数量
defaults
log global
mode http #工作模式 http ,tcp 是 4 层,http是 7 层
maxconn2048 #最大连接数
retries 3 #3次连接失败就认为服务器不可用
option redispatch #如果 cookie 写入了 serverId 而客户端不会刷新 cookie,当serverId 对应的服务器挂掉后,强制定向到其他健康的服务器
stats uri /haproxy #使用浏览器访问 http://192.168.122.254/haproxy,可以看到服务器状态
contimeout 5000
clitimeout 50000
srvtimeout 50000
frontendhttp-in
bind0.0.0.0:80
modehttp
logglobal
optionhttplog
optionhttpclose #打开支持主动关闭功能
acl php url_reg-i \.php$ #acl
acl html url_reg-i \.html$ #use_backend if
use_backend php-server ifphp
use_backend html-server ifhtml
default_backend html-server #默认使用的服务器组
backendphp-server
modehttp
balanceroundrobin #负载均衡的方式
optionhttpchk GET /index.php #健康检查
cookieSERVERID insert indirect nocache #客户端的 cookie 信息
serverphp-A 192.168.122.30:80 weight 1 cookie 1 check inter 2000 rise 2 fall 5
serverphp-B 192.168.122.40:80 weight 1 cookie 2 check inter 2000 rise 2 fall 5
#cookie1 标识 serverid 为 1
#checkinter 2000 检测心跳频率
#rise2 2 次正确认为服务器可用
#fall5 5 次失败认为服务器不可用
backendhtml-server
modehttp
balanceroundrobin
optionhttpchk GET /index.html
cookieSERVERID insert indirect nocache
serverhtml-A 192.168.122.10:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
serverhtml-B 192.168.122.20:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5
启动HAproxy
# /usr/local/haproxy/sbin/haproxy -f/usr/local/haproxy/conf/haproxy.cfg
查看HAproxy状态
# firefox http://localhost/haproxy
在客户端访问 HAproxy测试
# elinks –dump http:// 192.168.122.254
# elinks –dump http://192.168.122.254/index.html
# elinks –dump http://192.168.122.254/index.php
你可以只做2个html的服务然后在client段访问192.168.122.254可以看到html1里的index.html 内容清楚历史访问记录然后在浏览192.168.122.254 可以看到html2里的index.html 内容如果没看到那就多做几次刷新下搭建haproxy的服务器80端口不能被占用否则报错
软件包看其他博文的最下面 给的百度云盘地址
页:
[1]