nginx1.14.0版本高可用——keepalived双机热备
nginx不支持主从,所以我们需要使用keepalive支持高可用。
keepalived重要知识点
在局域网内,每个主机上各安装一个keepalived,注意关闭防火墙firewalld,然后设定一个VIP(虚拟IP),主keepalived会获得授权在自己的主机上设置一个虚拟IP提供给应用层使用。
一旦此keepalived用shell脚本监测到此机器上的nginx挂掉之后,立刻kill掉自己,同时也注销VIP。
局域网内另一个keepalived感知(需关闭防火墙才能互相感知)到主keepalived挂掉,会把虚拟IP在自己所在机器上虚拟一个,此操作叫IP漂移。从而达到应用层对某个nginx挂掉无感知。
安装keepalived
yum -y update
yum -y remove keepalived
yum install keepalived –y
使用yum安装的会有一个默认配置文件模板
路径为/etc/keepalived/keepalived.conf
启动keepalived服务
systemctl start keepalived
如果是这样就是启动成功了:

如果是这样就是启动失败,要检查是否是conf文件没改正确:

keepalived配置——发送邮件设置
global_defs {
notification_email { 收件邮箱列表
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1 发件邮箱设置
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
keepalived 配置——获取网卡名称
查看本机网卡: IP a

keepalived.conf 配置——VIP配置 (virtual IP)
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/etc/keepalived/chk_nginx.sh" 监测nginx是否存活脚本,如果否,keepalived将kill掉自己
interval 2
weight -5
fall 2
rise 1
}
vrrp_instance VI_1 {
state MASTER 字符串标识,可以随便写,比如backup
interface eno16777736
virtual_router_id 51
priority 100 指定keepalived的优先级,最高优先级为主,可以设置所在机器的虚拟IP,其它从keepalived则不能。
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.10.200 指定一个虚拟IP : VIP,后续做IP漂移。这个IP也是应用访问的IP
#192.168.10.210 可以设置多个虚拟IP
}
track_script {
chk_nginx 此虚拟IP检测存活对象的脚本,这里检测nginx
} }
chk_nginx.sh脚本
A=`ps -C nginx --no-header |wc -l` 检测nginx存活数,如果是0,则是nginx已经挂掉了
if [ $A -eq 0 ] ; then
echo 'nginx server is died'
killall keepalived kill掉自己
fi
keepalived启动、停止、查看存活状态命令
systemctl start keepalived.service 启动
systemctl stop keepalived.service 停止
systemctl status keepalived.service 查看状态
nginx启动、停止、查看运行状态
cd nginx目录
./sbin/nginx -t 检查nginx.conf脚本语法是否正常
./sbin/nginx 启动
./sbin/nginx -s stop 停止 Stop 是快速关闭,不管有没有正在处理的请求。
./sbin/nginx -s quit 退出 Quit 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求。
./sbin/nginx -s reload 重启
ps -ef|grep nginx 查看运行状态
ps -C nginx --no-header |wc -l 查看存活数。一般情况下,2是正常数,因为一个nginx启动会有两个nginx进程?
nginx1.14.0版本高可用——keepalived双机热备的更多相关文章
- 【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!
写在前面 最近出版了<海量数据处理与大数据技术实战>,详情可以关注 冰河技术 微信公众号,查看<我的<海量数据处理与大数据技术实战>出版啦!>一文. 也有不少小伙伴 ...
- Keepalived双机热备
一,Keepalived双机热备的应用场景 1,网站流量不高,压力不大,但是对服务器的可靠性要求极其高,例如实时在线OA系统,政府部门网站系统,医院实时报医系统,公安局在线报案系统,股市后台网站系统等 ...
- keepalived双机热备nginx
nginx目前是我最常用的反向代理服务,线上环境为了能更好的应对突发情况,一般会使用keepalived双机热备nginx或者使用docker跑nginx集群,keepalived是比较传统的方式,虽 ...
- Nginx+keepalived双机热备(主主模式)
之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...
- Nginx+keepalived 双机热备(主主模式)
之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...
- nginx1.14.0版本https加密配置
修改host文件,为最后访问域名准备 C:\Windows\System32\drivers\etc host文件目录192.168.10.140 www.joyce.com 在最后添加这个自定义域名 ...
- Keepalived 双机热备
使用 Keepalived 做双机热备非常简单,经常和 LVS 搭配来实现高可用负载平衡方案. 1. Master / Slave 首先准备两台测试服务器和一个虚拟IP. Server A: 192. ...
- keepalived双机热备,安装部署文档
keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...
- nginx + keepalived 双机热备
序 双机热备是指两台机器都在运行,但并非两台机器同时在提供服务. 当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,且切换的时间非常短. keepalived的工作原理是VRRP—— ...
随机推荐
- Windows MySQL测试数据库employees的导入
一: 首先下载employees测试数据库 https://launchpad.net/test-db/ 二:用文本编辑器打开其中的employees.sql文件,将第38行的set storage_ ...
- String为什么是final类型的
String的源码如下: public final class String implements Serializable, Comparable<String>, CharSequen ...
- Flask 上下文管理
为什么用threading.local? 我们都知道线程是由进程创建出来的,CPU实际执行的也是线程,那么线程其实是没有自己独有的内存空间的,所有的线程共享进程的资源和空间,共享就会有冲突,对于多线程 ...
- IntelliJ IDEA 2018 破解过程[详细步骤](Mac OS & Windows)
注册码获取地址:http://idea.lanyus.com/ 1.软件下载 首先进入https://www.jetbrains.com官网进行下载. 2.下载破解包 可百度搜索JetbrainsCr ...
- 在IE浏览器中url传参长度问题
1.在这之前我一直以为,应该说是并没有去思考过,url地址传参的长度限制问题:知道在项目材料价格系统中遇到之后,才对这个问题进行了具体的探索.IE中最大的长度限制为2084个,用于get传递数据的长度 ...
- Servlet抽取的问题-method传递问题+表单提交的问题
隐藏域解决该问题: 其中,hidden就是隐形域. 表单提交的问题: 1.通过按钮实现: 2.通过function中,获取页面元素.submit方法
- java的基础语法(标识符 修饰符 关键字)
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...
- 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项。试图加载格式不正确的程序。
异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项.试图加载格式不正确的程序. 解决方法: 点击 ...
- 贴图平移&凹凸贴图偏移
1. 平移(UV坐标动画) UV 坐标动画或 UV 平移的含义是,水平 (U) 和/或垂直 (V) 移动纹理的 UV 坐标,以产生复杂动画的错觉. 在以下示例中,火焰纹理沿着 U(水平)方向平移, ...
- cf374C Inna and Dima dfs判环+求最长链
题目大意是有一个DIMA四种字母组成的矩阵,要在矩阵中找最长的DIMADIMADIMA……串,连接方式为四方向连接,问最长能找到多少DIMA.字母可以重复访问,如果DIMA串成环,即可以取出无限长的D ...