4.keepalived守护nginx[使用keepalived搭建nginx主备]

版权声明:本文章以开启版权保护,转载或复制请注明出处https://blog.csdn.net/xianghanscce https://blog.csdn.net/xianghanscce/article/details/88794251

专栏目录

  1. keepalived简介[使用keepalived搭建nginx主备]
  2. centos7安装keepalived[使用keepalived搭建nginx主备]
  3. keepalived配置详解[使用keepalived搭建nginx主备]
  4. keepalived守护nginx[使用keepalived搭建nginx主备]
  5. keepalived邮件通知[使用keepalived搭建nginx主备]
  6. keepalived主备配置[使用keepalived搭建nginx主备]

前置条件

执行killall命令,看本机是否安装killall命令。

说明:批量关闭相同名称进程。

yum install psmisc -y

参考centos7安装killall命令

配置守护nginx进程脚本

keepalived启动后启动nginx

cd /usr/local/src
vim check_nginx_pid.sh
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
        /usr/sbin/nginx
        if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
                killall keepalived
        fi
fi

脚本授权

cd /usr/local/src/
chmod +x check_nginx_pid.sh

修改配置文件

vim /etc/keepalived/keepalived.conf

修改后配置

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server smtp.sina.com
   smtp_connect_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 enp0s9
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
   track_script {
        chk_http_port
   }
    virtual_ipaddress {
        192.168.1.200
    }
}

防火墙设置

让主备机器间的VRRP协议互通

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface enp0s9 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

enp0s9:冗余虚拟ip的网卡名称
vrrp:协议
224.0.0.18:回环地址
刷新防火墙设置

firewall-cmd --reload

启动

/usr/sbin/keepalived

查看log

tail -f /var/log/messages

其他

踩过的坑

shell里面变量赋值后不能有空格
keepalived节点配置后需要有空格

置空文件

猜你喜欢

转载自blog.csdn.net/xianghanscce/article/details/88794251