• Nginx+keepalived


    主从模式,failover failback

    1、环境准备

    服务

    软件

    地址

    反向代理+负载均衡

    Nginx+keepalived

    22.233.23.128

    反向代理+负载均衡

    Nginx+keepalived

    22.233.23.130

    Web

    Tomcat

    22.233.23.129

     

    Keepalived vip配置为22.233.23.131

     

    2、在22.233.23.129上配置tomcat

    2.1、安装tomcat

    https://www.cnblogs.com/jeancheng/p/13037613.html

    2.2、准备web页面

    在webapps下创建test目录,test下新建index.html,写入本机ip

    2.3、启动tomcat

    [root@node1 bin]# pwd

    /usr/local/src/apache-tomcat-7.0.104/bin

    [root@node1 bin]# ./startup.sh

    Using CATALINA_BASE: /usr/local/src/apache-tomcat-7.0.104

    Using CATALINA_HOME: /usr/local/src/apache-tomcat-7.0.104

    Using CATALINA_TMPDIR: /usr/local/src/apache-tomcat-7.0.104/temp

    Using JRE_HOME: /usr

    Using CLASSPATH: /usr/local/src/apache-tomcat-7.0.104/bin/bootstrap.jar:/usr/local/src/apache-tomcat-7.0.104/bin/tomcat-juli.jar

    Tomcat started.

    2.4、测试

    3、在22.233.23.128/130上配置nginx

    3.1、安装nginx和keepalive

    https://www.cnblogs.com/jeancheng/p/13034027.html

    3.2、配置nginx反向代理+负载均衡(只有一个web)

    3.3、测试

     

     

    4、在22.233.23.128/130上配置keepalived

    4.1、安装keepalived

    [root@localhost ~]# yum install -y keepalived

    4.2、配置keepalived

    /etc/keepalived/keepalived.conf

    22.233.23.128配置为master

    22.233.23.130配置为backup

     

    4.3、启动keepalived,加入开机启动

     

    service keepalived start

    chkconfig keepalived on

    4.4、确认keepalived

    22.233.23.129(master)

    Ifconfig看不到

    Ip a 可以看到

    22.233.23.130(BACKUP)备节点没有vip

    5、测试

    在windows物理机hosts文件中添加如下解析:

    22.233.23.131            www.test.com

    将22.233.23.128上的keepalived服务停掉或者关机

    vip飘到备节点上

    查看日志/var/log/messages

    刷新页面,可以继续访问

    将22.233.23.128开机或启动keepalived,vip飘回主节点

    Backup

    查看日志/var/log/messages

    如果之前的操作是关机,此时主节点没有启动nginx服务,网站不可访问

    如果之前的操作是停掉keepalived,此时启动了keepalived,nginx也是启动的,可以访问

    主从模式,failover

    两端keepalived配置文件,state都设置为BACKUP,参数加上nopreempt启动不抢占模式

    将22.233.23.128上keepalived服务停止,130会变为master

    再次启动128上的keepalived,不会抢占vip

    Vip仍然在130上

    添加nginx检查脚本

    如果master上的nginx挂掉了,keepalived不会切换,服务会终止,需要在keepalived中添加nginx服务的检查脚本

    编辑keepalived配置文件,/etc/keepalived/keepalived.conf

    创建/etc/keepalived/nginx_check.sh,写入如下内容,并加上可执行权限

    #!/bin/bash

    A=`ps -C nginx --no-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

    1、ps 检测到nginx在运行

    2、停掉nginx,ps检测到没有nginx服务在运行了

    3、重启keepalived

    4、可以看到keepalived加载了脚本,将nginx拉起来了

     

  • 相关阅读:
    Python全栈开发之---mysql数据库
    python爬虫项目(scrapy-redis分布式爬取房天下租房信息)
    python多线程爬虫+批量下载斗图啦图片项目(关注、持续更新)
    python爬虫+数据可视化项目(关注、持续更新)
    超融合基本架构简单定义
    开启新生之路,,,学习网络
    Redhat7.2 ----team网卡绑定
    设计原则
    java应用程序的运行机制
    java三大版本和核心优势
  • 原文地址:https://www.cnblogs.com/jeancheng/p/13044424.html
Copyright © 2020-2023  润新知