zoukankan      html  css  js  c++  java
  • 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监听到后,再做应用层的请求转发。

  • 相关阅读:
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    SVN分支
    SVN分支
    SVN 版本回退
    SVN 版本回退
    如何在excel中取消合并单元格后内容自动填充?
    如何在excel中取消合并单元格后内容自动填充?
    如何让自己像打王者荣耀一样发了疯、拼了命的学习?
  • 原文地址:https://www.cnblogs.com/zwcry/p/9561317.html
Copyright © 2011-2022 走看看