操作流程:
real server :192.168.0.100
192.168.0.110
配置web服务器
HAproxy调度器 192.168.0.90
安装haproxy
yum install -y haproxy
修改HAProxy配置文件 进行配置
HAProxy配置文件 说明
— 命令行:总是具有最高优先级
— global 部分:全局设置进程级别参数
— 代理声明部分
来自于 default, listen, frontend 和 backend
— default 为后续的其他部分设置缺省参数,缺省参数可以被后续部分重置
— frontend 描述接受客户端侦听套接字(socket)集
— backend 描述转发链接的服务器集
— listen 把frontend 和 backend 结合到一起的完整声明
不做业务区分 修改配置文件如下
# vim /etc/haproxy/haproxy.cfg
globallog 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid //haproxy的pid存放路径
maxconn 4000 //最大连级数 默认4000
user haproxy
group haproxy
daemon // 创建1个进程进程入deamon模式运行
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
defaults
mode http #默认的模式 mode{tcp|http|health}
log global # 采用全局定义的日志
option httplog # 日志类别http日志格式
option dontlognull #不记录健康检查的日志信息
option http-server-close
option forwardfor except 127.0.0.0/8 #后端服务器可以从Http Header中获得客户端IP
option redispatch #serverid 服务器挂掉后强制指定向到其他健康服务器
retries 3 #3次连接失败就认为u服务不可用,也可以通过后面设置
timeout http-request 10s
timeout queue 1m
timeout connect 10s #如果backend 没有指示,默认为10s
timeout client 1m #客户端连接超时
timeout server 1m #服务器连接超时
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000 #最大连接数
stats uri /admin //定义监控页面 uri
listen weblb 0.0.0.0:80
cookie SERVERID rewrite
balance roundrobin
server weba 192.168.0.100:80 cookie app1inst1 check inter 2000 rise 2 fall 5
server webb 192.168.0.110:80 cookie app1inst2 check inter 2000 rise 2 fall 5
# service haproxy start //启动服务
# netstat -pantu | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3192/haproxy
客户端访问