用keeplived实现nginx高可用

1.上传keepalived安装包:

cd /usr/local/source
rz

2.解压

yum install unzip
unzip keepalived-1.3.4.zip

3.安装:

mv keepalived-1.3.4 /usr/local/keepalived/
cd /usr/local/keepalived/
chmod 775 
chmod 775 configure
./configure --prefix=/data/program/keepalived --sysconf=/etc 
make && make install

4.修改配置文件

cd /etc/keepalived/
vim keepalived.conf

keepalived.conf:


global_defs {
    notification_email {
        [email protected]
    }
    notification_email_from [email protected]
    smtp_server smtp.hysec.com
    smtp_connection_timeout 30
    router_id nginx_master
}
vrrp_script chk_http_port {
    script "/usr/local/src/check_nginx_pid.sh"
    interval 2
    weight 2
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 66
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        chk_http_port
    }
    virtual_ipaddress {
        192.168.126.128
    }
}

5.创建check_nginx_pid.sh文件

 cd /usr/local/src/
 mkdir check_nginx_pid.sh

check_nginx_pid.sh内容:

#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
      /usr/local/nginx/sbin/nginx                #重启nginx
      if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    #nginx重启失败,则停掉keepalived服务,进行VIP转移
              killall keepalived
      fi
fi

修改权限:

chmod 775 check_nginx_pid.sh

6.backup的安装和配置跟master一样,除了keepalived.conf:

global_defs {
    notification_email {
        [email protected]
    }
    notification_email_from [email protected]
    smtp_server smtp.hysec.com
    smtp_connection_timeout 30
    router_id nginx_backup
}
vrrp_script chk_http_port {
    script "/usr/local/src/check_nginx_pid.sh"
    interval 2
    weight 2
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 66
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        chk_http_port
    }
    virtual_ipaddress {
        192.168.126.128
    }
}

6.启动master,backup的keepalived:

/data/program/keepalived/sbin/keepalived

7.查看日志:
在这里插入图片描述
在这里插入图片描述
8.测试keepalived master宕机的表现
关闭linux

shutdown -h now

查看backup的日志:
在这里插入图片描述
backup变成了master.
再重启master查看日志:
在这里插入图片描述
重启后还是master
查看backup日志:
在这里插入图片描述
又变回backup
git上配置文件地址:https://github.com/shidebin/installationPackage

猜你喜欢

转载自blog.csdn.net/shidebin/article/details/83790227
今日推荐