HAProxy工作模式
- mode http 客户端请求被深度分析后再发往服务器 (可以做web网站等进行URL解析)
- mode tcp 客户段与服务器之间建立会话,不检查第七层信息 (做指定端口负载均衡,如邮件等)
- mode health 仅做健康检查,很少用
HAProxy工作原理是使用proxy代理.客户端把请求发送到HAProxy后,HAProxy替用户发送请求到web服务器,web服务器响应 HAProxy,吧页面发给HAProxy.HAProxy再把页面发给客户端
正向代理:帮助客户端加速
反向代理:帮助服务器加速
1.准备两台real server (192.168.4.11 ; 192168.4.12)
2.调度器ip(192.168.4.200) 安装haproxy ( yum -y install haproxy)
3.修改配置文件 vim /etc/haproxy/haproxy.cfg
- 把配置文件中main frontend which proxys to the backends 这一行后面的全部删除,将frontend 和 backend 统一写到listen
listen stats
bind 0.0.0.0:1080 /*监控页面的端口号*/
stats refresh 30s /*页面自动刷新时间30秒*/
stats uri /monitor /*页面网址*/
stats realm HaManager
stats auth admin:admin /*用户名 : 密码*/
listen myweb 0.0.0.0:80
cookie SERVERID rewrite
balance roundrobin /*调度算法rr*/
server web1 192.168.4.11:80 cookie a1i1 check inter 2000 rise 2 fall 5
server web1 192.168.4.12:80 cookie a1i2 check inter 2000 rise 2 fall 5 /*每2000毫秒检查一次服务器,2次成功是好的,5次失败表示服务器故障*/
4.启服务 systemctl start haproxy.service
5.验证时候启动成功 ss -nutlp | grep 1080,失败的话 journalctl -xe 查看日志文件
6.访问haproxy管理界面 firefox http://192.168.4.200:1080/monitor
7.测试 ab -n 1000 -c10 http://192.168.4.200 ,然后刷新管理界面查看数据变化,负载均衡部分搭建完成
8.配置本机作为日志服务器,接受通过网络发来的日志 vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp /*去掉注释*/
$UDPServerRun 514 /*去掉注释*/
# Provides TCP syslog reception
$ModLoad imtcp /*去掉注释*/
$InputTCPServerRun 514 /*去掉注释*/
systemctl restart rsyslog 重启日志服务
9.查看日志
tail -f /var/log/messages
访问http://192.168.4.200 可以看到HAProxy调度器的调度日志