微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

专栏目录

  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节点配置后需要有空格

置空文件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐