keepalived + nginx HA 配置

来源:互联网 发布:淘宝店铺的链接在哪里 编辑:程序博客网 时间:2024/05/16 19:21

keepalived 安装-----------------------------------------------

1.下载解压到:/usr/keepalived1.2.12

cd /usr/keepalived1.2.12

./configure --prefix=/usr/local/keepalived

make && make install

此步骤如果遇到报错:!!! OpenSSL is not properly installed on your system. !!!

更新openssl:yum install -y openssl openssl-devel

2.复制keepalived服务脚本文件并赋予可执行权限:

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived

chmod +x /etc/init.d/keepalived

3.修改keepalived服务脚本文件:

vi /etc/init.d/keepalived

将. /etc/sysconfig/keepalived 修改为 . /usr/local/keepalived/etc/sysconfig/keepalived

新增:PATH="$PATH:/usr/local/keepalived/sbin"

export PATH

4.修改/usr/lcoal/keepalived/etc/sysconfig/keepalived文件:

KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalived.conf"

5.开机启动并重启keepalived服务:

chkconfig keepalived on

service keepalived restart

 

keepalived.conf 配置-----------------------------------------------

vi /usr/local/keepalived/etc/keepalived/keepalived.conf


! Configuration File for keepalived
vrrp_script nginx_pid {   #检测脚本
    script "/usr/local/keepalived/bin/nginx_pid.sh" #检测脚本所在路径
    interval 2  #运行间隔
    weight 3
}


global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server localhost
   smtp_connect_timeout 30
   router_id A  #各节点区分开;备份节点设置: router_id B
}

vrrp_instance VI_1 {
    state MASTER #表示为节点备份节点设置:state:BUCKUP
    interface eth0 #网卡
    virtual_router_id 51
    priority 100 #优先级;      备份节点设置: priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.181/24 dev eth0 #虚拟路由ip地址,所有节点相同
    }
    track_script {
         nginx_pid  #检测脚本
    }
}


nginx_pid脚本:(如果不存在nginx pid,启动nginx,如等待3秒后不成功,关闭keepalived服务)

#!/bin/bash
 
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
      service nginx start
              sleep 3
                if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
                        service keepalived stop
fi
fi




测试: 浏览器访问虚拟IP 192.168.1.181 指向主服务器,关闭主服务器nginx后,访问192.168.1.181,指向了备份服务器即为成功。

0 0