Nginx配置高可用的集群

Nginx配置高可用的集群_第1张图片

 环境搭建 两台liunx系统,环境配置一样(有nginx和其依赖的条件以及tomcat)!!!

需要在两台服务器中安装keepalived

这里实操一下:

通过yum install keepalived -y 指令

Nginx配置高可用的集群_第2张图片

安装完查看一下版本确保真的安装成功了,使用命令:

rpm -q -a keepalived

安装成功后在/etc会生成一个keepalived文件夹

里面有一个文件keepalived.conf  配置高可用的集群操作都是在这里修改

添加以下内容:

主服务器的keepalived.conf

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }   
   notification_email_from [email protected]
   smtp_server 192.168.229.128     #服务器ip
   smtp_connect_timeout 30
   router_id LVS_DEVEL        #访问到主机
}

vrrp_script chk_http_port {
    
    script "/usr/local/nginx/nginx_check.sh"  #检测脚本位置

    interval 2              # 检测脚本执行的间隔

    weight 2            #权重

}

vrrp_instance VI_1 {
    state MASTER # 备份服务器上将 MASTER 改为 BACKUP
    interface eth0         # 网卡
    virtual_router_id 51    # 主、备机的 virtual_router_id 须相同
    priority 100          # 主、备机取不同的优先级,主机值较大,备机值较小
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }   
    virtual_ipaddress {
        192.168.229.50     # VRRP H 虚拟地址
    }   
}

在/usr/local/src添加检测脚本 :

名称为:nginx_check.sh(和上面保持一致)

具体内容:

#!/bin/bash
A=`ps -C nginx ¨Cno-header |wc -l`
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

从服务器两个对应的文件内容:

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }   
   notification_email_from [email protected]
   smtp_server 192.168.229.130
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script chk_http_port {
    
    script "/usr/local/nginx/nginx_check.sh"

    interval 2              # 检测脚本执行的间隔

    weight 2

}

vrrp_instance VI_1 {
    state BACKUP          # 备份服务器上将 MASTER 改为 BACKUP
    interface eth0         # 网卡
    virtual_router_id 51    # 主、备机的 virtual_router_id 须相同
    priority 90           # 主、备机取不同的优先级,主机值较大,备机值较小
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }   
    virtual_ipaddress {
        192.168.229.50     # VRRP H 虚拟地址
    }   
}

nginx_check.sh文件内容和上面一样!!!

把两台服务器上nginx和keepalived启动

启动nginx:./nginx

启动keepalived:service start keepalived

最终测试 (1)在浏览器地址栏输入 虚拟ip地址 192.168.229.50 

Nginx配置高可用的集群_第3张图片

Nginx配置高可用的集群_第4张图片

 把主服务器关了

再次访问

Nginx配置高可用的集群_第5张图片

Nginx配置高可用的集群_第6张图片

测试完毕!!! 

你可能感兴趣的:(linux,Nginx,nginx,运维)