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)" = "" ]; 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 主备配置的更多相关文章
- nginx主备配置
添加配置: proxy_next_upstream error timeout invalid_header http_500 http_503 http_502; upstream http.wea ...
- keepalived haproxy 主备配置
global_defs { router_id k8s_master} vrrp_script chk_http_port {script "/etc/keepalived/check_ha ...
- LVS+Nginx(LVS + Keepalived + Nginx安装及配置)
(也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...
- LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- Ubuntu16.04双网卡主备配置
前几日写了一篇Ubuntu14.04双网卡主备配置,没成想变化总是这么快,今日安装某软件,提示最匹配的ubuntu版本是16.04,作为一个码农能有什么办法,只能不断去适应变化.拥抱变化. 首先16. ...
- MySQL备份与主备配置
MySQL备份与主备配置 数据备份类型 全量备份:备份整个数据库 增量备份:备份自上一次备份以来(增量或完全)以来变化的数据 差异备份:备份自上一次完全备份以来变化的数据 全量备份 全量备份的方法有 ...
- Keepalived 主备配置
keepalived主备或多主多备,配置都是一样配置方法,只是搭建多少的问题. 1.keepalived安装 参考:https://www.cnblogs.com/zwcry/p/9542867.ht ...
- keepalived安装实现nginx主备高可用
. keepalived安装环境 su - root yum -y install kernel-devel* yum -y install openssl-* yum -y install popt ...
随机推荐
- 第一百八十九节,jQueryUI,折叠菜单 UI
jQueryUI,折叠菜单 UI 学习要点: 1.使用 accordion 2.修改 accordion 样式 3.accordion()方法的属性 4.accordion()方法的事件 5.acco ...
- posix正则表达式说明
转载自:http://baiy.cn/utils/_regex_doc/index.htm 正则表达式说明 简介 大体来讲,正则表达式的文法分为3种标准:BRE.ERE 和 ARE.其中 BER 和 ...
- 【Android 多语言切换简单实例分享】
一.Android多语言切换 Android应用的开发不可能仅仅针对某一个国家或者区域使用,各国间语言文化各不同样,因此一个优秀的APP必须支持多种语言,为了实现这个特性,Android给出了一个解决 ...
- bin/mysqld: error while loading shared libraries: libnuma.so.1: 安装mysql
如果安装mysql出现了以上的报错信息.这是却少numactl这个时候如果是Centos就yum -y install numactl就可以解决这个问题了. ubuntu的就sudo apt-get ...
- ASP.NET中RegisterStartupScript和RegisterClientScriptBlock有区别吗
今天用RegisterClientScriptBlock()方法调用了alertify.js(绚丽的实现alert()同样的提示功能): Page.ClientScript.RegisterClien ...
- 部署vuejs dist文件,通过node.js编译
前期准备: 1. Linux环境,安装配置node.js ① 下载地址:http://nodejs.cn/download/ ,下载linux 64位 ② 已编译好的压缩包,解压到指定目录 cd / ...
- 【BZOJ1731】[Usaco2005 dec]Layout 排队布局 差分约束
[BZOJ1731][Usaco2005 dec]Layout 排队布局 Description Like everyone else, cows like to stand close to the ...
- Cocos2d-x Lua中实例:特效演示
下面我们通过一个实例介绍几个特效的使用,这个实例如下图所示,上图是一个操作菜单场景,选择菜单可以进入到下图动作场景,在下图动作场景中点击Go按钮可以执行我们选择的特性动作,点击Back按钮可以返回到菜 ...
- UESTC 491 Tricks in Bits
Tricks in Bits Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu Submit ...
- 巨蟒python全栈开发django4:url反向解析图解&&模板渲染
第一部分: 1.(1)知识点回顾: django回顾: ()下载安装 输入网址,a,form表单get post,爬虫 (请求)==>django项目服务端的url(r"index/& ...