华仔博客

  • 首页
  • seo
  • 网站建设
  • 工具资源
  • 生活
  • 程序开发
  • 网上那点事
  • 网络营销
华仔博客
一个经验分享的博客
  1. 首页
  2. 程序开发
  3. 正文

apache双机搭建高可用负载均衡

2018年3月29日 1807点热度 0人点赞 0条评论

centos7下apache安装以及自动启动

keepalived 安装教程

安装上面的教程在两台机器上分别装好apache 和keepalived。

配置第一台机器的keepalived

配置文件内容如下:

编辑/etc/keepalived/keepalived.conf

# vi /etc/keepalived/keepalived.conf ,添加如下内容

! Configuration File for keepalived

global_defs {
notification_email {
admin@example.com
}
notification_email_from admin@example.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id linux01
}

vrrp_instance VI_1 {                               #定义一个实例
state BACKUP                                    #设置为backup,然后通过priority控制哪台提升为主
interface eth0
virtual_router_id 51
priority 100
nopreempt                                          #在priority高的这台设置这个参数,方便当主恢复后
advert_int 1                                        #可以自动接管
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.199 dev eth0 label eth0:0                #这里使用label标签启用eth0:0
}
}

virtual_server 10.0.0.199 80 {                        #这里往下是定义LVS
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP

real_server 10.0.0.191 80 {                            #其中一台是本地web服务
weight 1
TCP_CHECK {
connect_timeout 3
}
}
real_server 10.0.0.192 80 {             #另一台的web服务
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
第二台机器的keepalived文件文件如下

编辑/etc/keepalived/keepalived.conf

# vi /etc/keepalived/keepalived.conf ,添加如下内容

! Configuration File for keepalived

global_defs {
notification_email {
admin@example.com
}
notification_email_from admin@example.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id linux02
}

vrrp_instance VI_1 {                               #定义一个实例
state BACKUP                                    #设置为backup,然后通过priority控制哪台提升为主
interface eth0
virtual_router_id 51
priority 50
advert_int 1                                        #可以自动接管
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.199 dev eth0 label eth0:0                #这里使用label标签启用eth0:0
}
}

virtual_server 10.0.0.199 80 {                        #这里往下是定义LVS
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP

real_server 10.0.0.191 80 {                            #其中一台是本地web服务
weight 1
TCP_CHECK {
connect_timeout 3
}
}
real_server 10.0.0.192 80 {             #另一台的web服务
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
keepalived配置文件修改完后,开始修改apache的默认页vi /opt/apache/apache-2.4.29/htdocs/index.html 只要两个默认的文件内容不一样就好。

关于本机启动回环地址

众所周知,要是用lvs的dr模式,必须在realserver上启动回环地址,所以,搭建两台机器的负载均衡,当然就得在本机也启动相应的回环地址,才能实现所要的功能,脚本如下:(以下两个脚本为蚊子原创,蚊子网站地址http://www.wenzizone.cn)
# vi /usr/local/bin/startlo

#!/bin/sh

VIP=10.0.0.199

case "$1" in
stop)
# close lo:0 interface

echo $"Close lo:0 interface"
/sbin/route del -host $VIP dev lo:0
/sbin/ifconfig lo:0 down
echo "0">/proc/sys/net/ipv4/conf/all/arp_announce
echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore
;;
start)
# start lo:0 interface

echo $"Start lo:0 interface"
/sbin/ifconfig lo:0 $VIP/32 broadcast $VIP up
/sbin/route add -host $VIP dev lo:0
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
;;
*)
echo $"Usage: $0 (start|stop)"
exit 1
;;
esac

但由于keepalived不像heartbeat里有ldirectord来控制回环地址的启动和停止,所以我们需要人为的判断应该在哪台机器上启动回环地址,所以蚊子就写了下面的一个脚本,

# vi /usr/local/bin/check_interface

#!/bin/bash
#
#作者:蚊子
#
#脚本说明:
#本脚本用于判断当前server是否是master
#如果当前server不是master,则启动回环地址
#否则停止回环地址
#
#VIP_interface请根据自己的情况自行设定,这个是VIP接口
#lo_interface请根据自己的情况自行设定,是回环地址接口

VIP_interface="eth0:0"
lo_interface="lo:0"

i=10

while [ $i != 0 ]
do
/sbin/ifconfig |grep $VIP_interface &>/dev/null
retval=$?
if [ ! $retval -eq 0 ];then
/sbin/ifconfig |grep $lo_interface &>/dev/null
retval=$?
if [ ! $retval -eq 0 ];then
/usr/local/bin/startlo start
fi
else
/sbin/ifconfig |grep $lo_interface &>/dev/null
retval=$?
if [ $retval -eq 0 ];then
/usr/local/bin/startlo stop
fi
fi
i=10
sleep 10
done

两台机器都新建完两个脚本后, 到此,一切准备就绪就可以测试了

首先将所有需要的脚本设置可执行权限。依次启动相应的服务

A、apache随机启动就不用启动了
B、# /usr/local/bin/check_interface
C、#service keepalived start
如果没有任何报错,说明服务已经启动,keepalived的日志存放在/var/log/messages中,如果有错误,请自行查看

测试1:当前状态下测试负载均衡情况

方法:打开ie浏览器,输入http://192.168.211.110,然后不断用ctrl+F5强制刷新,可以看到网页内容在linux01和linux02中切换

测试2:停止linux01的keepalive,测试负载均衡情况

方法:

A、/etc/init.d/keepalived stop
然后等待几秒可以看到linux01上的lo:0地址已经启动,而linux02上的lo:0已经停止

B、打开ie浏览器,输入http://192.168.211.110,然后不断用ctrl+F5强制刷新,可以看到网页内容在linux01和linux02中切换

测试3:开启linux01上的keepalived,观察linux01是否切换回master

方法:启动keepalived程序,使用ifconfig观察linux01上已经启动了eth0:0接口,同时lo:0接口停止,linux02上eth0;0接口停止,同时lo:0接口启动

apache双机搭建高可用负载均衡的教程已经写完,有什么问题可以下面留言一起讨论交流

标签: apache apache负载均衡
最后更新:2021年10月11日

admin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

取消回复
广告
搜索
最新 热点 随机
最新 热点 随机
WhatsApp收不到验证码、一小时死循环现在可付费接码 win7惠普m227fdw打印机扫描仪不能用解决办法 WordPress教程-WordPress撰写设置 GTranslate3.04翻译插件不工作的原因找到了 WordPress教程-WordPress常规设置 wordpress教程-WordPress 安装 WordPress教程-WordPress概述 wordpress 导入word文档插件Seraphinite Post .DOCX Source 谷歌SEO的页面标题和元描述的长度多长最合适? 如何利用wordpress编辑网站页面 Hitpaw watermark remover去图片视频水印神器 WordPress博客页面和文章 如何充分利用您的 SEMrush 帐户 什么是 Robots.txt 文件以及Robots.txt 文件如何工作 ? WordPress列表页分页制作教程 youtube视频响应式插件Simple YouTube Responsive WordPress文章页添加展开/收缩功能 WordPress栏目调用去掉Ul标签 WordPress如何调用置顶文章 如何使用奈飞Netflix cookies登录奈飞Netflix GSA Search Engine Ranker项目屏幕 GSA Search Engine Ranker内容创建服务推荐 GSA Search Engine Ranker 仿写服务推荐 GSA Search Engine Ranker电子邮件账户推荐 GSA Search Engine Ranker搜索引擎提交服务推荐 GSA Search Engine Ranker索引服务推荐 GSA Search Engine Ranker验证码服务推荐 GSA Search Engine Ranker代理服务推荐 GSA Search Engine Ranker介绍 ChatGPT for Wechat-在微信上使用ChatGPT
apache服务器默认首页的设置方面 如果当年你要是这么跟我说了我可能就考上哈佛大学了。 GSA Search Engine Ranker介绍 转载:seowhy夫唯的人生经历 《微信引流与变现》课程震撼来袭 谷歌nofollow插件百度知道链接已加nofollow 如何利用wordpress编辑网站页面 seo博客_新手交换友情链接的误区 百度搜索结果官网子链 展现上线公告 亲爱的你做好被误k的准备了吗 ios6的完美越狱终于快来了呼呼 GSA Search Engine Ranker 仿写服务推荐 seo博客_网站内部链接应该这么建设 降低网站跳出率是否对百度排名有影响 北京seo再解nofollow属性的链接 centos7知识大全 绿萝算法升级,打击软文链接 seo博客_什么是404页面及怎么制作404页面 年度最给力,冰点促销来袭,你准备好了吗? 百度搜索团队说说什么是页面价值 如果你喜欢上了一个seo小伙,你就找对人了 H7N9来了,元芳,你怎么看? 最后的生还者4k阿里云盘分享 404错误页面返回上一页 如何增强执行力将推广方法用到极致? 传统制造业开展SEO 普遍存在的四大问题 网络营销_如何利用新浪微博营销 如何策划个seo优化方案 GSA Search Engine Ranker 项目窗口详细介绍 dedecms转wordpress详细版,成功版,经典版

© 2012-2025 sem-home.com.版权所有.

主题KRATOS貌似作者网站打不开了,就没加,嗯就这样

京ICP备12020022号