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)" = "" ]; then
/usr/local/nginx/sbin/nginx
sleep
if [ "$(ps -C nginx --no-heading|wc -l)" = "" ]; 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)" = "" ]; then
/usr/local/nginx/sbin/nginx
sleep
if [ "$(ps -C nginx --no-heading|wc -l)" = "" ]; 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监听到后,再做应用层的请求转发。

keepalived nginx 主备配置的更多相关文章

  1. nginx主备配置

    添加配置: proxy_next_upstream error timeout invalid_header http_500 http_503 http_502; upstream http.wea ...

  2. keepalived haproxy 主备配置

    global_defs { router_id k8s_master} vrrp_script chk_http_port {script "/etc/keepalived/check_ha ...

  3. LVS+Nginx(LVS + Keepalived + Nginx安装及配置)

    (也可以每个nginx都挂在上所有的应用服务器)  nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...

  4. LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  5. 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  6. Ubuntu16.04双网卡主备配置

    前几日写了一篇Ubuntu14.04双网卡主备配置,没成想变化总是这么快,今日安装某软件,提示最匹配的ubuntu版本是16.04,作为一个码农能有什么办法,只能不断去适应变化.拥抱变化. 首先16. ...

  7. MySQL备份与主备配置

    MySQL备份与主备配置 数据备份类型 全量备份:备份整个数据库 增量备份:备份自上一次备份以来(增量或完全)以来变化的数据 差异备份:备份自上一次完全备份以来变化的数据 全量备份 全量备份的方法有 ...

  8. Keepalived 主备配置

    keepalived主备或多主多备,配置都是一样配置方法,只是搭建多少的问题. 1.keepalived安装 参考:https://www.cnblogs.com/zwcry/p/9542867.ht ...

  9. keepalived安装实现nginx主备高可用

    . keepalived安装环境 su - root yum -y install kernel-devel* yum -y install openssl-* yum -y install popt ...

随机推荐

  1. abp的权限与导航菜单的关系

    原来以为各是各的,所以就有了第一个版本.Getallmentus.然后注入了role,当然失败了.获取所有的菜单.一直在思考在什么地方设置菜单是否展示呢? 后面看了源码.才发现自己错了. UserNa ...

  2. poj3254 Corn Fields 利用状态压缩求方案数;

    Corn Fields 2015-11-25 13:42:33 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10658   ...

  3. plsql programming 12 集合(忽略, 个人感觉用不到)

    关联数组, 嵌套表, varray 个人并不推荐使用集合, 因为操作有别于普通字段. 集合中每一个元素的数据类型都是相同的, 因此这些元素都是同质的(同质元素) 这一章的内容先忽略吧, 因为个人感觉用 ...

  4. IDEA15入门常用设置

    打开IDEA设置的快捷键:Ctrl + Alt + S 打开选中的项目属性快捷键:Shift + Ctrl + Alt + S 1.IDEA默认不会使用我们独立安装的Maven配置,需要手动设置,并且 ...

  5. < 转载 > 说说JSON和JSONP

    推荐博文---说说JSON和JSONP,也许你会豁然开朗,含jQuery用例 里头说的很详细!

  6. 编写自己的ls命令

    ····要编写ls命令,首先要了解它能做什么,完成了什么工作,是如何完成这些工作的····  一.ls命令能做什么? 我们在命令行输入ls,ls默认找出当前目录中所有文件的文件名,并且按照字典序排序后 ...

  7. [Spring Data MongoDB]学习笔记--建立数据库的连接

    1. 有了上一篇的Mongo后,连接数据库我们还需要更多的信息,比如数据库名字,用户名和密码等. 我们可以继续来配置MongoDbFactory的实例. public interface MongoD ...

  8. Permutation Descent Counts(递推)

    1968: Permutation Descent Counts Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb  ...

  9. 项目中调用ExcelCom组件时的配置流程

    异常提示如下:         Microsoft Office Excel 不能访问文件“*.xls”. 可能的原因有:        1 文件名称或路径不存在.       2 文件正被其他程序使 ...

  10. iOS KVO详解

    一.KVO 是什么? KVO 是 Objective-C 对观察者设计模式的一种实现.[另外一种是:通知机制(notification),详情参考:iOS 趣谈设计模式——通知]: KVO 提供一种机 ...