keepalived主从模式监测nginx

不念不忘少年蓝@ 2023-06-25 04:58 90阅读 0赞

一、环境说明

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(两个虚拟机都需要做,步骤一致):

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

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

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

4、修改配置文件路径:

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

5、设置服务开机启动:

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

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

五、配置流程

1、配置 主:

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

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

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

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

六、验证测试

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

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

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

  1. vi /etc/keepalived/keepalived.conf

插入第一段:

  1. vrrp_script check_nginx
  2. {
  3. script "/root/check_nginx.sh"
  4. interval 2
  5. weight 2
  6. }

再插入第二段:

  1. track_script
  2. {
  3. check_nginx
  4. }

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

  1. systemctl start keepalived.service
  2. 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 条评论,90人围观)

还没有评论,来说两句吧...

相关阅读