实验一:Haproxy负载均衡
1.实验环境
一台Haproxy:192.168.8.137
两台httpd:192.168.8.131,192.168.8.140
2.主机Haproxy上
[root@xss ~]# cd /etc/yum.repos.d/
[root@xss yum.repos.d]# mkdir bak
[root@xss yum.repos.d]# mv *.repo bak
[root@xss yum.repos.d]# wget -P /etc/yum.repos.d/ http://192.168.200.2/Cent6/Cent6.repo
[root@xss yum.repos.d]# yum -y install gcc gcc-c++
[root@xss /]# wget http://192.168.200.2/soft/haproxy-1.4.24.tar.gz
[root@xss /]# yum -y install pcre-devel bzip-devel
[root@xss /]# tar zxf haproxy-1.4.24.tar.gz
[root@xss /]# cd haproxy-1.4.24
[root@xss haproxy-1.4.24]# make TARGET=linux26
[root@xss haproxy-1.4.24]# make install
[root@xss haproxy-1.4.24]# mkdir /etc/haproxy
[root@xss haproxy-1.4.24]# cp examples/haproxy.cfg /etc/haproxy/
[root@xss haproxy-1.4.24]# cp examples/haproxy.init /etc/init.d/haproxy
[root@xss haproxy-1.4.24]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
[root@xss haproxy-1.4.24]# chmod +x /etc/init.d/haproxy
[root@xss haproxy-1.4.24]# vim /etc/haproxy/haproxy.cfg
[root@xss haproxy-1.4.24]# service haproxy start
3.两台主机httpd上
安装httpd,为了区分编写两个测试页
4.在浏览器中输入192.168.8.137测试
实验二:Haproxy+Keepalived
1.实验环境
两台Haproxy:192.168.8.137(主)
192.168.8.138(备)
两台httpd:192.168.8.131
192.168.8.140
漂移地址:192.168.8.141
2.主服务器上
(1)安装haproxy(如实验一)
(2)修改Haproxy配置文件
[root@xss haproxy-1.4.24]# vim /etc/haproxy/haproxy.cfg
[root@xss keepalived]# service haproxy start //启动Haproxy
(3)安装Keepalived(参考上一篇文章)
(4)修改Keepalived配置文件
[root@xss keepalived]# vim /etc/keepalived/keepalived.conf
[root@xss keepalived]# service keepalived start //启动Keepalived
[root@xss keepalived]# ip addr show dev eth0
3.备份服务器上
(1)安装haproxy(如实验一)
(2)修改Haproxy配置文件(如主服务器)
(3)安装Keepalived(参考上一篇文章)
(4)修改Keepalived配置文件
4.两台Httpd上
安装httpd,为了区分编写两个测试页
5.浏览器上输入192.16.8.141测试
此时主服务器工作,当主服务器宕机,备份服务器工作
6.Haproxy状态监控
在Haproxy配置文件中添加如下脚本
listen stats
#
关联前端和后端定义一个完整的代理
mode http
#
设置代理协议
bind 0.0.0.0:8080
#
绑定相应的端口
stats
enable
#
开启Haproxy统计状态
stats refresh 3s
#
统计页面自动刷新时间间隔
stats hide-version
#
隐藏代理服务器版本
stats uri /admin
#
访问的url
stats realm Haproxy
#
统计页面认证时提示内容信息
stats auth admin:123456
#
设置登录用户和密码
stats admin
if
TRUE
#
如果认证通过,则就可以打开stats
访问监控页面192.168.8.137:8080/admin