HAPROXy是一个自由、快速和可靠的解决方案,它为TPCP和HTTP提供了高可用性、负载平衡和代理应用程序。 它特别适合非常高流量的地点。 多年来,它已成为一个标准的开放源负载平衡,现在可以使用最主流的Linux释放和通常默认的云层平台部署。
实验主要包括将两个背对背代理服务器放在前端,并实现后端网站。
2. 东道国名单
节点名称
eth0
eth1
虚拟IPIP
主要职能主要职能
node1
172.16.100.1
192.168.1.11
192.168.1.10
HAProxy Active
node2
172.16.100.2
192.168.1.12
192.168.1.10
HAProxy Backup
node3
172.16.100.3
HTTP Static
node4
172.16.100.4
HTTP Dynamic
一. 基本配置
1. 所有节点的解决
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.100.1 node1 node1.redhat.com
172.16.100.2 node2 node2.redhat.com
172.16.100.3 node3 node3.redhat.com
172.16.100.3 node3 node3.redhat.com
2. Ssh信托基金
node1
[root@node1 ~]# ssh-keygen -t rsa -P “”
[root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub node2
node2
[root@node2 ~]# ssh-keygen -t rsa -P “”
[root@node2 ~]# ssh-copy-id -i .ssh/id_rsa.pub node1
3. 时间同步化
node1
[root@node1 ~]# ntpdate 172.16.0.254
node2
[root@node2 ~]# ntpdate 172.16.0.254
查看时间是否同步化
[root@node1 ~]# date;ssh node2 ‘date’
Sat Apr 16 10:59:11 CST 2016
Sat Apr 16 10:59:11 CST 2016
二. 配置节点1和节点2节点上的保存寿命服务
1. 将两件两件分开的活物堆叠在一起,
[root@node1 ~]# yum install keepalived -y;ssh node2 ‘yum install keepalived -y’
2. 编辑节点上的配置文件1
[root@node1 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
root@localhost
}
notification_email_from admin@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_maintanance {
script "[ -f /etc/keepalived/down ] && exit 1 || exit 0"
interval 3
weight -20
}
vrrp_instance VI_1 {
状态 MaSTER # 配置为主节点
接口 eth1 # 将虚拟 IP 配置为 eth1 接口
virtual_router_id 51
力量的重量是100
advert_int 1
authentication {
auth_type PASS
#通过5cd 403375c99da360bcaf06
}
virtual_ipaddress {
192.168.1.10 #虚拟IP地址
}
track_script {
chk_maintanance
}
}
3. 将配置复制到节点2
[root@node1 ~]# scp /etc/keepalived/keepalived.conf node2:/etc/keepalived/keepalived.conf
4. 将配置修改为节点上的节点2
[root@node2 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
root@localhost
}
notification_email_from admin@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_maintanance {
script "[ -f /etc/keepalived/down ] && exit 1 || exit 0"
interval 3
weight -20
}
vrrp_instance VI_1 {
州备份 # # 配置为备份节点
接口 eth1 # 将虚拟 IP 配置为 eth1 接口
virtual_router_id 51
力量的重量是99
advert_int 1
authentication {
auth_type PASS
#通过5cd 403375c99da360bcaf06
}
virtual_ipaddress {
192.168.1.10 #虚拟IP地址
}
track_script {
chk_maintanance
}
}
5. 激活两个节点的服务
[root@node1 ~]# service keepalived start;ssh node2 ‘service keepalived start’
三. 在节点1和节点2节点配置 HAProxy 服务
1. 在两个节点上安装handroxxy
[root@node1 ~]# yum install haproxy -y;ssh node2 ‘yum install haproxy -y’
2. 编辑节点上的配置文件1
[root@node1 ~]# vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend main *:80
acl URL-静态路径_beg-i/静态/图像 / javascript/ 样式表 #ACL 静态内容规则
acl URl_static path_end-i.jpg.gif.png.css.js #staticpath_end-i.jpg.gpg.gpg.pg.png.cs.js#ACL静态内容规则
如果 URL_stistic # 如果 CC 符合静态内容, 那就使用状态服务器 。
动态服务器上将使用所有与静态内容不匹配的访问控制列表请求。
backend static
旋转算法
服务器节点3 172.16. 100.3:80 check #stat服务器地址
backend dynamic
平衡圆形 # 旋轉算法
Cookie SLV_ID 插入插头
服务器节点4 172.16. 100.4: 80 check cookie节点4 # 动态服务器地址并设定 cookies 值
4. 实施 handroxy 日志配置的文件
[root@node1 ~]# vim /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
Mod 装入图像p # working'udp 协议
$UDPServerRun 514 # 允许 Port 514 接收使用 UDP 协议转发的日志
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
本地2. */ var/log/ hoproxy.log # 对应 Haproxy 的日志设置
5. 将修改后的配置文件复制到节点2
[root@node1 ~]# scp /etc/rsyslog.conf node2:/etc/rsyslog.conf
[root@node1 ~]# scp /etc/haproxy/haproxy.cfg node2:/etc/haproxy/haproxy.cfg
6. 服务和服务
[root@node1 ~]# service haproxy start;ssh node2 ‘service haproxy start’
[root@node1 ~]# service rsyslog restart;ssh node2 ‘service rsyslog restart’
四. 配置固定地点
1. 服务
[root@node3 ~]# yum install httpd -y
2. 在目录下准备一张图片
[root@node3 ~]# ls /var/www/html/
magedu.png
3. 推出 " httpd " 服务
[root@node3 ~]# service httpd start
五. 配置动态网站
1. 服务
[root@node3 ~]# yum install httpd php -y
2. 编制目录下的文件
[root@node4 ~]# vim /var/www/html/index.php
echo "
Welcome to Magedu
";?>
3. 推出 " httpd " 服务
[root@node3 ~]# service httpd start
i. 保持寿命,实现HAProxy高可用率测试
1. 首先先看节点的虚拟 IP 配置是否成功
您可以在 eth1 界面上成功看到虚拟 IP 配置 。
2. 打开浏览器并输入测试虚拟地址
测试没问题
3. 降低节点1下调并看到节点状态
[root@node1 ~]# touch /etc/keepalived/down
虚拟 IP 传输到节点2
4. 刷新浏览器,以确定您是否仍然可以访问它。
测试没问题
二. 网址的地理分离测试
1. 打开浏览器,打开 F12 上的调试工具,输入虚拟地址并查看资源是否已装入
成功装入网络文件和照片资源
2. 关闭节点3的 httpd 服务并测试是否继续装载资源
[root@node3 ~]# service httpd stop
当静态服务器停止服务时, 无法装入照片资源 。
3. 恢复节点3的httpd服务,以测试是否继续装载资源
[root@node3 ~]# service httpd start
一旦静态服务器恢复服务,照片资源就可以再次装入。
其中,我加入了饼干,但是只有一个服务器, 这是为了方便实验, 这样感兴趣的学生可以加入更多的服务器, 测试饼干的效果。 实验就在这里, 如果实验有问题, 他们可以在注释区域留下信息 。
若重印张晓凡的原文文章,请注明来源:http://www.178linux.com/14923。
注册有任何问题请添加 微信:MVIP619 拉你进入群
打开微信扫一扫
添加客服
进入交流群
发表评论