keepalived+Nginx(主从模式)

人走茶凉 提交于 2019-12-02 14:58:01

 

 

1  准备两台机器

A机器:192.168.0.109

B机器:192.168.0.108

A级器作为master,B机器作为backup

2 关闭防火墙

systemctl stop firewalld 关闭firewalld
iptables -nvL查看防火墙
setenforce 0 临时关闭selinux
getenforce命令查看是否为Permissive

 3.安装  keepalived

yum install -y keepalived

默认的配置文件路径在
/etc/keepalived/keepalived.conf
清空配置文件
> /etc/keepalived/keepalived.conf
编辑配置文件
vim /etc/keepalived/keepalived.conf

修改配置文件
global_defs {
   notification_email {
    2625747535@qq.com
   }
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP                             #备用  
    interface ens33
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     192.168.0.100/24 dev ens33 label ens33:1   #虚拟ip
    }
}

----------------------------------------------------------------------------------------


定义监控脚本
脚本路径在keepalived配置文件中有定义,路径为/usr/local/sbin/check_ng.sh
vim /usr/local/sbin/check_ng.sh


#!/bin/bash
#时间变量,用于记录日志
d=`date --date today +%Y%m%d_%H:%M:%S`
#计算nginx进程数量
n=`ps -C nginx --no-heading|wc -l`
#如果进程为0,则启动nginx,并且再次检测nginx进程数量,
#如果还为0,说明nginx无法启动,此时需要关闭keepalived
if [ $n -eq "0" ]; then
        /etc/init.d/nginx start
        n2=`ps -C nginx --no-heading|wc -l`
        if [ $n2 -eq "0"  ]; then
                echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
                systemctl stop keepalived
        fi
fi

脚本创建完之后,还需要改变脚本的权限(不更改权限,就无法自动加载脚本,那就无法启动keepalived服务)
chmod 755 /usr/local/sbin/check_ng.sh


启动keepalived
systemctl start keepalived
查看是否启动成功
ps aux |grep keepalived
------------------------------------------------------------------------------------------

 ip add  查看vip是否在机器上

 

 

 

4.安装nginx

 yum install nginx -y

systemctl start nginx    //启动nginx
systemctl enable nginx    //加入开机启动

 

ps -ef | grep  nginx  查看nginx 是否存活

 编辑nginx的默认页面

cat /usr/share/nginx/html/index.html  修改标识为了区分  访问的那个nginx

 

------------------

主备两台电脑都根据上面安装  ,唯一区别的是   keepalive, 配置文件   主 用 MASTER ,备:BACKUP

 

 

两台电脑keepalivep  和nginx 启动, 在备的的电脑上  ip  add是看不到虚拟ip的(192.168.0.100)

当你关掉主的keepalived  在备用机器上 就会自动加上 vip

测试访问192.168.0.100:nginx端口    然后第一次出现的是主机上的,关掉主机keepalived,访问电脑 ,访问的是备机的nginx

 

 

相关文档

https://blog.51cto.com/12922638/2155817

https://www.cnblogs.com/yanjieli/p/10682064.html

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!