Nginx+keepalived(高可用主备模式)
Nginx+keepalived(高可用主备模式)
环境:centos6.7
准备:两台服务器(虚拟机)、两台应用(Tomcat)、Nginx、keepalived
server1:192.168.237.128 安装上Nginx和keepalived VIP 192.168.237.10(同网段)
server2:192.168.237.129 安装上Nginx和keepalived
安装keepalived : yum install keepalived
keepalived 配置文件路径 /etc/keepalived/keepalived.conf
1.分别开启NginxA和NginxB ,使两台Nginx都能分发请求至TA、TB
keepalivedA配置文件
! Configuration File for keepalived
global_defs {
router_id 192.168.237.128
}
vrrp_script chk_nginx {
script "/operation/nginx_check.sh"
interval 5
weight -5
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 110
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.237.10
}
track_script {
chk_nginx
}
}
启动keepalivedA : service keepalived start;启动成功keepalivedA后查看 ip addr keepalived日志路径 /var/log/messages

keepalivedB文件配置
! Configuration File for keepalived
global_defs {
router_id 192.168.237.129
}
vrrp_script chk_nginx {
script "/operation/nginx_check.sh"
interval 5
weight -5
}
vrrp_instance VI_1 {
state BACKUP #备机
interface eth0
virtual_router_id 51
priority 100 #优先级 小于主机
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.237.10
}
track_script {
chk_nginx
}
}
检测Shell脚本 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
启动keepalivedA:根据日志可知,配置生效 检测脚本已生效


启动keepalivedB:根据日志可知,配置生效 检测脚本已生效

停止主机MASTER的nginxA,根据监控日志可知keepalivedA已停止,KA绑定的VIP自动移除;备机自动转换为MAster,绑定VIP,接替主机正常工作


重新启动NA和KA,NA重新恢复工作,充当MASTER,NB则转换为备机

至此,Nginx+keepalived的主从高可用配置已经演示完成。
总结 <<<<<<<<<<配置过程遇到的问题以及解决方案>>>>>>>>>>>
问题1:Process [42305] didn't respond to SIGTERM 启动keepalived出现此报错 解决方案 :interval 5 调整检测脚本间隔时间 -----相应调大
问题2:
解决方案 : 关闭防火墙 service iptables stop
问题3:一般防火墙是开启的,如何解决问题二?
解决方案:防火墙设置开放VRRP协议
vim /etc/sysconfig/iptables
-A INPUT -i eth0 -d 224.0.0.0/8 -p vrrp -j ACCEPT
-A OUTPUT -o eth0 -d 224.0.0.0/8 -p vrrp -j ACCEPT
问题4:运行检测脚本报错 /bin/bash^M: bad interpreter 解决方案:检测脚本更改为linux环境编码
Nginx+keepalived(高可用主备模式)的更多相关文章
- Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)
目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...
- Rabbitmq+Nginx+keepalived高可用热备
摘自: http://www.cnblogs.com/wangyichen/p/4917241.html 公司两台文件服务器要做高可用,避免单点故障,故采用keepalived实现,其中一台宕机,依靠 ...
- keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群
keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群 内网路由都用mac地址 一个mac地址绑定多个ip一个网卡只能一个mac地址,而且mac地址无法改,但 ...
- Nginx+keepalived(高可用双主模式)
Nginx+keepalived(高可用双主模式) tips:前面已经介绍了nginx+keepalived高可用主从模式,今天补充下高可用的双主模式,均可以作为主机使用 server1:192.16 ...
- Nginx入门篇(七)之Nginx+keepalived高可用集群
一.keepalived介绍 keepalived软件最开始是转为负载均衡软件LVS而设计,用来管理和监控LVS集群系统中各个服务节点的状态,后来又加入了可实现高可用的VRRP功能.所以Keepali ...
- nginx Keepalived高可用集群
一.Keepalived高可用 1.简介 Keepalived软件起初是专为LvS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此, ...
- Nginx+Keepalived高可用集群应用实践
Nginx+Keepalived高可用集群应用实践 1.Keepalived高可用软件 1.1 Keepalived服务的三个重要功能 1.1.1管理LVS负载均衡软件 早期的LVS软件,需要通过命令 ...
- 使用Ansible实现nginx+keepalived高可用负载均衡自动化部署
本篇文章记录通过Ansible自动化部署nginx的负载均衡高可用,前端代理使用nginx+keepalived,端web server使用3台nginx用于负载效果的体现,结构图如下: 部署前准备工 ...
- nginx+keepalived 高可用方案
nginx+keepalived 高可用方案 准备工作 192.168.157.11 192.168.157.12 安装nginx 跟新yum源文件 rpm -ivh http://nginx.org ...
随机推荐
- windows本地连不上虚拟机redis服务完美解决
检查本机与虚拟机是否可以互相ping通,如本机IP:192.168.22.111 虚拟机IP:192.168.44.129 (设置虚拟机静态IP已设置) 本机 win+R 输入cmd 进入dos 输 ...
- Web前端基础(14):jQuery基础(一)
1. jQuery概述 1.1 为什么要使用jQuery 在用js写代码时,会遇到一些问题: window.onload 事件有事件覆盖的问题,因此只能写一个事件. 代码容错性差. 浏览器兼容性问题. ...
- HashMap数据结构与实现原理解析(干货)
HashMap 数据结构解析: HashMap内部使用hash表(本质是一个数组见图一) HashMap使用hash算法计算得到存放的索引位置,以此来加快查询速度,(比ArrayList还要快) 同样 ...
- Unity3D_Transform_位置、角度、缩放及其他
1.位置 transforn.position 世界位置 transform.localPosition 相对父类位置 在屏幕左上方显示方法: private void OnGUI() { GUIL ...
- php 7.1.32 +Apache 2.4 配置 (x64)
最近phpstudy 后门事件一出,吓得小编瑟瑟发抖,决心自己配置环境不再用集成环境. 一.apache 配置 首先我们先去apache 官网下载apache apache2.4地址:https:// ...
- 【H5最强攻略】百度人脸情绪实时识别
最近看的各位大佬都在体验百度大脑2019年全新上线的24项AI能力! (我也按耐不住了,赶紧走一波- 哈哈) 接下来要介绍的就是H5端的人脸检测攻略. 附带详细的介绍,代码,以及演示体验等 欢迎提出各 ...
- 【JDBC】JDBC入门
JDBC的入门 搭建开发环境 编写程序,在程序中加载数据库驱动 建立连接 创建用于向数据库发送SQL的Statement对象 从代表结果集的ResultSet中取出数据 断开与数据库的连接,并释放相关 ...
- SQL server利用脚本添加链接服务器,可设置别名
USE [master]GO EXEC master.dbo.sp_addlinkedserver @server = N'你的别名', @srvproduct=N'', @provider=N'SQ ...
- 读书笔记_python网络编程3_(1)
0.前言 代码目录: https://github.com/brandon-rhodes/fopnp/tree/m/py3 0.1.网络实验环境:理解客户端与服务器是如何通过网络进行通信的 每台机器通 ...
- python3字符串常用方法
整型和布尔值的转换: bin -- 十进制转二进制 int("1101",2) -- 二进制转十进制 十进制转二进制的算法 除2 取余,获取的所有余数从下往上进行计算 二进制转十进 ...