1.先确保没有其他调度器的干扰 2.在computer1上安装haproxy 3.编辑/etc/haproxy/haproxy.cfg文件 这里haproxy的mode工作模式是http,即工作在第七层(haproxy也可以工作在第四层)。 (1)先将这六行注释掉,只留一个app。另外,将端口改成80,这样后端的端口可以不为80。 这里computer3和computer4是仅开启了apache服务的web服务器。 4.启动haproxy haproxy占用了端口80,因此我们不能同时开启httpd服务。 5.测试 这里使用computer2测试,发现不需要定义vip,computer1的ip地址就是vip。 haproxy拥有健康检查功能,每次都会检测至少三次。当停掉computer3的httpd服务时 访问失败 重新开启computer3上的httpd服务 重新测试,发现访问又恢复正常。 补充:还可以使用haproxy自带的监控功能 访问对应的路由即可 6.添加日志功能 编辑/etc/sysconfig/rsyslog文件,添加一个-r参数表示接受。 编辑/etc/rsyslog.conf文件 添加local2这一行表示将haproxy的日志存放在local2中 另外,我们让local2的日志不要存储在/var/log/messages中。 在computer2上访问一次computer1 发现出现了haproxy.log 7.激活认证功能 还可以激活5秒刷新功能 输入密码之后成功进入,会发现监控界面5秒刷新一次。 8.session保持 使用source算法,表示只要发起请求的源地址不变,调度也就不变。 9.权重 10.backup 假设所有的RS挂掉了怎么办呢?这里可以使用本机作为backup,当所有RS挂掉后,会访问本机的资源。 这里将httpd服务端口改为8000(如果设置为80会和haproxy冲突) 同时修改默认发布页面 down掉computer3和computer4 11.访问控制 blacklist:自己定义的acl表名字 src:源地址 src_port:源端口(同理还有目标地址dest,目标端口dest_port) block if:禁止访问 使用reload更好一些,这样不会中断服务。 发现computer2访问被拒绝 上述错误展示的不太美观,加入errorloc定向403这个错误类型到192.168.1.10:8000上去(curl无法呈现定向的页面,这里使用浏览器访问)。 如何拒绝访问部分页面? 直接重定向,也可以定向到百度等等。