keepalived安装
1. 安装依赖
1
|
yum install -y openssl-devel
|
2. 准备安装包
keepalived-2.2.7.tar.gz
将包解压在/usr/local/src/nginx-1.22.0
下
3. 创建对应目录
mkdir /usr/local/src/keepalived-2.2.7
4. 编译安装keepalived
1
2
3
4
|
cd /usr/local/src/nginx-1.22.0/keepalived-2.2.7
./configure --prefix=/usr/local/src/keepalived-2.2.7
make
make install
|
5. 拷贝执行文件到对应目录
1
2
3
4
|
cp -r /usr/local/src/nginx-1.22.0/keepalived-2.2.7/keepalived/etc/init.d/ /etc/init.d/
cp /usr/local/src/nginx-1.22.0/keepalived-2.2.2/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/src/nginx-1.22.0/keepalived-.2.27/keepalived/keepalived /usr/sbin/
cp -r /usr/local/src/keepalived-2.2.7/etc/keepalived /etc/
|
编辑/etc/keepalived/keepalived.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notificaiton_email {
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_http_port {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state BACKUP
nopreempt
interface ens192
virtual_router_id 51
priority 150
advert_int 1
authencation {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
10.xx.xx.xx/xx
}
}
|
6. 启动keepalived
启动命令keepalived
查看虚拟ip是否存在
7. 设置开机自启
systemctl enable keepalived
8.设置nginx健康检查脚本
编辑/etc/keepalived/check_nginx.sh
1
2
3
4
5
6
7
|
# vim /etc/keepalived/check_nginx.sh
#!/bin/bash
A=`ps -C nginx --no-header | wc -l`
if [ $A -eq 0 ]; then
killall keepalived
fi
|