keepalived主从模式监测nginx

一、环境说明

VirtualBox6.1
CenOS7
Nginx
keepalived-1.1.20.tar.gz

二、IP配置

主Keepalived服务器IP地址:10.0.2.4
备Keepalived服务器IP地址:10.0.2.5
虚拟Keepalived服务器IP地址:10.0.2.6

三、下载地址

http://www.keepalived.org/software/ 可以选择自己需要的版本。

四、安装步骤

1、下载好安装包,可使用xshell软件连接虚拟机,将压缩包上传至/home目录。或者直接在虚拟机里执行命令下载:wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz(如果提示没有wget命令,安装即可:yum install wget)。
2、解压keepalived(两个虚拟机都需要做,步骤一致):

[root@localhost]# cd /home  
[root@localhost home]# tar -zxvf keepalived-1.1.20.tar.gz 
[root@localhost home]# cd keepalived-1.1.20
[root@localhost keepalived-1.1.20]# ln -s /usr/src/kernels/2.6.9-78.EL-i686/usr/src//linux
[root@localhost keepalived-1.1.20]# ./configure

执行完./configure后会显示:
在这里插入图片描述
3、编译安装:

[root@localhost keepalived-1.1.20]# make && make install   

4、修改配置文件路径:

[root@localhost keepalived-1.1.20]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@localhost keepalived-1.1.20]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost keepalived-1.1.20]# mkdir /etc/keepalived
[root@localhost keepalived-1.1.20]# cp /usr/local/etc/keepalived/keepalived.conf/etc/keepalived/                  
[root@localhost keepalived-1.1.20]# cp /usr/local/sbin/keepalived /usr/sbin/

5、设置服务开机启动:

[root@localhost keepalived-1.1.20]# vi /etc/rc.local 

在最后一行加上: /etc/init.d/keepalived start

五、配置流程

1、配置 主:

[root@localhost keepalived-1.1.20]# vi /etc/keepalived/keepalived.conf 

在这里插入图片描述
2、配置 备:

[root@localhost keepalived-1.1.20]# vi /etc/keepalived/keepalived.conf 

在这里插入图片描述
3、启动服务:

六、验证测试

1、创建监控双机nginx状态的脚本:vi /opt/check_nginx.sh
写入以下代码:

#!/bin/sh
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then  #如果nginx没在运行
   systemctl start nginx.service  #启动nginx
   sleep 2
   if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then  #如果无法启动
	killall keepalived  #杀死keepalived进程
   fi
fi

2、安装psmisc,因为脚本用到了killall命令,最小化安装的centos没有,所以要安装一下:yum -y install psmisc。
3、再次编辑keepalived配置文件:

vi /etc/keepalived/keepalived.conf

插入第一段:

vrrp_script check_nginx
{
   script "/root/check_nginx.sh"
   interval 2
   weight 2
}

再插入第二段:

track_script 
{ 
        check_nginx
}

它们的位置如下:
在这里插入图片描述
4、备用机与此步骤一样。
5、启动keepalived服务,并开机自启。

systemctl start keepalived.service
systemctl enable keepalived.service

6、测试:
修改一下主机nginx的欢迎界面,以和备用机区分:添加单词Master和Backup:
在这里插入图片描述
7、在浏览器输入虚拟机ip:81,停掉主机服务器的nginx,systemctl stop nginx.service。刷新页面会发现没有变化,这是因为keepalived检测到nginx挂了,会通过check_nginx.sh脚本自动启动nginx。
在这里插入图片描述
8、当手动停止主机的keepalived:systemctl stop keepalived.service
会发现页面标题的Master没有了,就变成了Backup。
在这里插入图片描述
此时才算是配置成功了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋文轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值