keepalived+nginx

keepalived可以认为是VRRP协议在Linux上的实现,主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。本文基于如下的拓扑图:

wKiom1gcL4rhavLfAAAm837X93Y751.png

配置keepalived+nginx的方法比配置keepalived+LA Cluster的方法要简单 ; 使用nginx做调度器的话 , 只需要将vip进行实时调度 , 不用配置real server (因为在nginx 上配置)  ; 但是需要注意的是 , 假设当前主机没有出现故障 , 但是nginx服务出现故障怎么办 ? 至需要检测nginx服务是否正常运行 , 如果没有正常运行 , 权重值减一定的数值 , 使status 变为 backup 就可以了 ;

1.1 配置nginx做为反代理服务器

在http配置段中添加upstream配置文 :

upstream SERVER_NAME {

server IP-1;

server IP-2;

}

在server配置段中的location 中添加配置文

location / {

proxy_pass http:SERVER _NEMA;

}

wKioL1gcL4qCXjeRAABSTNsI8vs056.png

wKioL1gcL4mBWiL3AAAmIFTmYI0024.png

两台nginx反代服务器配置好后启动 , 并做测试 :

wKiom1gcL4iiZu7QAAA5Rvcxamo229.png


要确定好nginx反代服务器能够正常运行 ;



1.2 修改keepalived.conf配置文件 :

用nginx作调度器(director) 关键两点 :

(1) 网络资源的实时转移 (基于vrrp协议的实现)

(2) 实时监测nginx反代服务器的健康状态

所以配置文如下 :

wKioL1gcL4nxaBR2AAB92ycS_cQ243.png


原创文章,作者:hunter,如若转载,请注明出处:http://www.178linux.com/57420

(0)
hunterhunter
上一篇 2016-11-04
下一篇 2016-11-04

相关推荐

  • Linux 的shell脚本编程

    shell脚本编程 程序:指令+数据 程序编辑风格:             过程式:以指令为中心,数据服务于指令             对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指…

    Linux干货 2016-08-15
  • 初涉Linux基本要点概括(2)

    linux上的文件查看与管理类命令 mkdir 作用: 创建目录 语法: mkdir [OPTION]… DIRECTORY… 示例: mkdir -p /tmp/x/y/z             &nb…

    Linux干货 2016-10-15
  • N25-第6周

    vim:    模式化的编辑器        基本模式:            编辑模式,命令模式,            输入模式       &n…

    Linux干货 2017-02-13
  • yum仓库搭建

    两台主机: 一台centos7  客户机 一台centos6  服务器 准备工作 1.查看是否共享服务是否可用 httpd或vsftpd 是否安装。确认安装之后选择vsftpd为共享服务/var/www/html和/var/ftp/pub为共享目录。 这里使用vsftpd,/var/ftp/pub这个目录为共享目录 在这个目录下建立一个独立的文件夹 [roo…

    2017-12-01
  • 命令行历史和调用命令参数

    history显示当前终端的历史记录 !! 重复执行上一条命令 !-n 重复执行倒数第n条命令 !n 重复执行第n条命令 ctrl+p 等于向上方向键,翻出上一条命令。 ctrl+n 等于向下方向键,翻出下一条命令。 ctrl+j 等于enter 执行当前命令 !:0 执行前一条命令(去除参数) !string 重复前一个以“string”开头的命令(只限于…

    2017-07-14
  • Shell脚本编程

    shell脚本编程 Bash为用户提供了编程环境 相对于计算机而言,只能识别二进制文件,因此其所运行的其实是二进制指令,而这些二进制指令我们称之为机器语言,属于低级语言;程序员编程所使用的语言为高级语言,是人们比较容易理解的语言;因此,程序的执行过程:先把源码程序翻译成机器语言(生成可执行的文件),然后解释执行。程序( 程序=指令+数据 )的编程风格有两种:…

    2017-04-14