专栏目录
- keepalived简介[使用keepalived搭建nginx主备]
- centos7安装keepalived[使用keepalived搭建nginx主备]
- keepalived配置详解[使用keepalived搭建nginx主备]
- keepalived守护nginx[使用keepalived搭建nginx主备]
- keepalived邮件通知[使用keepalived搭建nginx主备]
- keepalived主备配置[使用keepalived搭建nginx主备]
前置条件
执行killall命令,看本机是否安装killall命令。
说明:批量关闭相同名称进程。
yum install psmisc -y
配置守护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 {
498886724@qq.com
}
notification_email_from xianghan2007@sina.com
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节点配置后需要有空格