一、Haproxy环境搭建,轮询实现。
实验环境:
server2 IP:172.25.64.2 haproxy服务器
server3 IP:172.25.64.3 web1
server4 IP:172.25.64.4 web2
foundation64 IP:172.25.64.250 测试:客户端
haproxy服务器
修改yum源,添加高可用、负载均衡安装包。
下载配置haproxy
yum install haproxy -y
cd /etc/haproxy/
vim haproxy.cfg ##配置文件
注释60—85 行内容
文件末尾编写轮询机制以及监控页面:
开启haproxy使配置文件生效:
web1、web2
yum install httpd -y
重启apache。
测试
二、 haproxy负载均衡服务器监控实验。
测试页面:172.25.64.2:8080/status
输入帐号密码登陆,登陆成功显示监控页面:
实验1.查看被访问次数
实验2.进行健康检查
将web1的apache关闭。
因为web1故障,故连续访问web2.
监控显示web1 DOWN。
因为haproxy是工作在应用层的,可以对Http的报文进行直接的处理,所以可以具有健康检查的功能,而lvs是工作在OSI模型的下四层的,不能得到http报文的数据,所以不具备健康检查的功能。
三、动静页面分离
动态网页:只有一个ip
静态网页:ip+具体目录
将动态页面和静态页面分离在两个不同的web服务器。
1.haproxy服务器
编写配置文件:
/etc/init.d/haproxy reload ## 重载
yum install httpd -y ##安装apache
更改监听端口为8000
vim /etc/httpd/conf/httpd.conf
2.静态web服务器(web2)
/etc/init.d/httpd restart
动态主备测试
当web1和local同时在线,访问web1.
关闭web1,跳转到local
静态页面访问
四、haxproxy服务日志
vim /etc/rsyslog.conf ##更改日志配置
指定日志保存路径。
五、错误重定向
1. http的403错误重定向
vim /etc/haproxy/haproxy.cfg (添加黑色部分)
测试:
重定向成功!
2.所有错误重定向
vim /etc/haproxy/haproxy.cfg
测试:
六、网页重定向
配置:
vim /etc/haproxy/haproxy.cfg
301:之前网站不再可用,永久性被移除(网站迁移)
302:只是此次重定向了(盗链,恶意刷流量)
浏览器拿到服务器返回的状态码,重定向到一个新地址
[root@server2 haproxy]# /etc/init.d/haproxy reload
测试:
主机配置解析:
在浏览器中输入172.25.64.2或者westos.org都跳转到www.westos.org
七、读写分离:
web服务器
yum install php -y
将upload目录同步
vim upload_file.php
/etc/init.d/httpd restart
haproxy服务器
vim /etc/haproxy/haproxy.cfg
测试:
写测试:
访问www.westos.org 到/var/www/html/upload目录下
保存图片:
读测试:
访问/images则访问的web2