• keepalived nginx 主备配置


    keepalived  nginx 主备配置(多主多备同理)

    1.Nginx服务安装

      nginx 不区分主备,在两台服务上安装两个即可。

      安装参考:https://www.cnblogs.com/zwcry/p/9454647.html

    2.Keepalived服务安装

      keepalived 区分主备、多主多备的。

      keepalived 多主多备 是把 单主单备 复制多份,调下优先级配置即可。

      安装参考:https://www.cnblogs.com/zwcry/p/9542867.html

      主备配置参考:https://www.cnblogs.com/zwcry/p/9549756.html

    3.环境描述

      两台服务器(已按照1、2教程安装)

      IP.192.168.159.129

        nginx 已安装

        keepalived 已安装

      IP.192.168.159.130

        nginx 已安装

        keepalived 已安装

    4.修改keepalived.conf配置

      192.168.159.129 (主)keepalived.conf

       cd /etc/keepalived/  #进入默认配置目录

      vim keepalived.conf  #编辑配置信息

      谨记:该配置慎用空格,可以使用TAB或回车排版,空格会被识别为赋值,导致keepalived运行失败

       修改为如下内容

    ! Configuration File for keepalived
    
    vrrp_script chk_nginx {#虚拟路由沉余协议脚本
    	script "/etc/keepalived/script/nginx_chk.sh"#执行脚本 该脚本权限必须是可以执行的X
    	interval 2#上面的脚本没两秒执行一次
    	weight 0#权重  0为不变
    }
    
    vrrp_instance VI_1 {
    	state MASTER#两个值(主:MASTER  备:BACKUP),必须大写
    	interface ens33#网卡接口,ip a查看,上面主备搭建教程有讲
    	virtual_router_id 51#虚拟路由ID,主备或多主多备,需要全部设置一样
    	priority 101#优先级,越高越优先使用该服务
    	advert_int 1#多个keepalived的通讯检测间隔,单位秒
    	authentication {#认证类型与密码,主备或多主多备需要设置一样
    		auth_type PASS
    		auth_pass 1111
      }
    
    	track_script {#执行脚本
    		chk_nginx#上面定义的vrrp_script chk_nginx
    	}
    
    	virtual_ipaddress {
    		192.168.159.110#定义虚拟IP,换行可以定义多个
    	}
    }

      192.168.159.130(备) keepalived.conf

      cd /etc/keepalived/  #进入默认配置目录

      vim keepalived.conf  #编辑配置信息

      谨记:该配置慎用空格,可以使用TAB或回车排版,空格会被识别为赋值,导致keepalived运行失败  

       修改为以下内容

    ! Configuration File for keepalived
    
    vrrp_script chk_nginx {#虚拟路由沉余协议脚本
    	script "/etc/keepalived/script/nginx_chk.sh"#执行脚本 该脚本权限必须是可以执行的X
    	interval 2#上面的脚本没两秒执行一次
    	weight 0#权重  0为不变
    }
    
    vrrp_instance VI_1 {
    	state BACKUP#两个值(主:MASTER  备:BACKUP),必须大写
    	interface ens33#网卡接口,ip a查看,上面主备搭建教程有讲
    	virtual_router_id 51#虚拟路由ID,主备或多主多备,需要全部设置一样
    	priority 100#优先级,越高越优先使用该服务
    	advert_int 1#多个keepalived的通讯检测间隔,单位秒
    	authentication {#认证类型与密码,主备或多主多备需要设置一样
    		auth_type PASS
    		auth_pass 1111
      }
    
    	track_script {#执行脚本
    		chk_nginx#上面定义的vrrp_script chk_nginx
    	}
    
    	virtual_ipaddress {
    		192.168.159.110#定义虚拟IP,换行可以定义多个
    	}
    }

    5.编写vrrp_script  nginx_chk.sh脚本(该脚本必须有执行权限)

      192.168.159.129(主)nginx_chk.sh

        cd /etc/keepalived/script/  #无目录,自己创建

        vim nginx_chk.sh  编辑脚本

        添加如下内容

    #!/bin/bash
    if [ "$(ps -C nginx --no-heading|wc -l)" = "0" ]; then
        /usr/local/nginx/sbin/nginx
        sleep 2
        if [ "$(ps -C nginx --no-heading|wc -l)" = "0" ]; then
            /etc/init.d/keepalived stop
        fi
    fi

    保存

    chmod 775 nginx_chk.sh  #赋值执行权限 

      192.168.159.130(备) nginx_chk.sh

        cd /etc/keepalived/script/  #无目录,自己创建

        vim nginx_chk.sh  编辑脚本

        添加如下内容

    #!/bin/bash
    if [ "$(ps -C nginx --no-heading|wc -l)" = "0" ]; then
        /usr/local/nginx/sbin/nginx
        sleep 2
        if [ "$(ps -C nginx --no-heading|wc -l)" = "0" ]; then
            /etc/init.d/keepalived stop
        fi
    fi

    保存

    chmod 775 nginx_chk.sh  #赋值执行权限 

    6.测试

      1)停止nginx,nginx自动重启成功

        

      2)停止主keepalived,虚拟IP自动切换至备keepalived

        

        

        

      3)访问虚拟IP自动跳转至nginx

        

      4)其他测试不演练了

    注:Keepavlied不影响Nginx服务,Keepalived运行状态或非运行状态,Nginx该怎样还是怎样。

      Keepalied只是配合lvs将访问虚拟IP的请求,转发到虚拟IP所在服务器上。而这台服务器上的Nginx监听到后,再做应用层的请求转发。

  • 相关阅读:
    Python+request+unittest实现接口测试框架集成实例
    真正解决Jenkins安装插件总是报错的问题(网上查的解决方案都无效)
    Rancher 2.2.2
    Rancher管理k8s集群
    清理cosbench工具所占用磁盘空间的小脚本
    一个检查本机和远程机器的根目录所在磁盘的剩余空间的bash小脚本
    当df命令hang住了, 怎么办?
    OpenCV操作像素的几种方法(单个像素|操作多像素|遍历像素)
    OpenCV-颜色通道的分离、合并(转)
    ImageMagick 提取四通道png图片的alpha及magick使用
  • 原文地址:https://www.cnblogs.com/zwcry/p/9561317.html
Copyright © 2020-2023  润新知