Nginx+Keepalived+VIP漂移实现HA高可用技术之详细教程
https://www.cnblogs.com/zcc666/p/13141626.html 这个是nginx安装教程地址
https://www.cnblogs.com/zcc666/p/13138260.html 这个是Keepalived的安装教程地址
1.首先把nginx、Keepalived安装好了,我们开始进行今天的技术分析话题
2.准备2台linux负载服务器,并且2台都要安装nginx、Keepalived程序。
准备一个虚拟IP,我这里用192.168.1.20
第一台linux的地址:192.168.2.2 (主 MASTER)
第二台linux的地址:192.168.2.3 (从 BACKUP)
3.nginx里面的配置写好自己要负载的ip地址和端口号。
4.开始对第一台linux的地址:192.168.2.2 (主 MASTER)的Keepalived的配置进行修改。
默认的配置路径在 /etc/Keepalived/Keepalived.conf
global_defs {
router_id LVS_DEVEL
script_user root
enable_script_security
}
vrrp_script chk_nginx
{
script "/etc/keepalived/scripts/nginx_check.sh"
interval 2
timeout 2
fall 3
weight -20
}
vrrp_instance nginx {
state MASTER
interface eth0
virtual_router_id 100
priority 100
#nopreempt # no seize,must add
advert_int 1
authentication { #all node must same
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.2.2
unicast_peer {
192.168.2.3
}
virtual_ipaddress {
192.168.1.20
}
track_script {
chk_nginx
}
}
在这个地方新增一个文件夹
mkdir /etc/keepalived/scripts/
这个下面存放一个脚本 nginx_check.sh,代码如下
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
systemctl stop keepalived.service
fi
fi
之后,对该scripts下脚本赋给权限
chmod a+x /etc/keepalived/scripts/*.sh
此时就可以启动keepalived、nginx
然后看看 ip add 这里的VIP就漂移到主负载地址下面了。
++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++
5.开始对第一台linux的地址:192.168.2.3 (主 BACKUP)的Keepalived的配置进行修改。
默认的配置路径在 /etc/Keepalived/Keepalived.conf
global_defs {
router_id LVS_DEVEL
script_user root
enable_script_security
}
vrrp_script chk_nginx
{
script "/etc/keepalived/scripts/nginx_check.sh"
interval 2
timeout 2
fall 3
weight -20
}
vrrp_instance nginx {
state BACKUP
interface eth0
virtual_router_id 100
priority 90
#nopreempt # no seize,must add
advert_int 1
authentication { #all node must same
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.2.3
unicast_peer {
192.168.2.2
}
virtual_ipaddress {
192.168.1.20
}
track_script {
chk_nginx
}
}
在这个地方新增一个文件夹
mkdir /etc/keepalived/scripts/
这个下面存放一个脚本 nginx_check.sh,代码如下
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
systemctl stop keepalived.service
fi
fi
之后,对该scripts下脚本赋给权限
chmod a+x /etc/keepalived/scripts/*.sh
此时就可以启动keepalived、nginx
然后看看 ip add 这里的VIP不在此服务器上。
最后:
可以关闭主服务器的keepalived、nginx 然后看看从服务器的vip就漂移过来了。
Nginx+Keepalived+VIP漂移实现HA高可用技术之详细教程的更多相关文章
- Redis主从复制+Keepalived+VIP漂移实现HA高可用技术之详细教程
1.大家可以先看我的单台Redis安装教程,链接在此点击Redis在CentOS for LInux上安装详细教程 2.第一台redis配置,是正常配置.作为MASTER主服务器,第二台redis的配 ...
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)
原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)-转帖篇
原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...
- 搭建 docker + nginx + keepalived 实现Web应用的高可用(亲测)
1. 环境准备 下载 VMware : https://www.vmware.com/go/getplayer-win 下载 Centos : https://mirrors.a ...
- Nginx(七):keepalived实现Nginx负载均衡服务器的双机高可用
前言 之前咱们通过 Nginx(六):Nginx HTTP负载均衡和反向代理的配置与优化 和 Nginx+tomcat组合实现高并发场景的动静分离和负载均衡方案 这两篇文章了解了Nginx对高并发应用 ...
- Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...
- [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...
- centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课
centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课 heartbeat是Linu ...
- HA高可用的搭建
HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务.常用 ...
随机推荐
- 2021.07.19 P2294 狡猾的商人(差分约束)
2021.07.19 P2294 狡猾的商人(差分约束) [P2294 HNOI2005]狡猾的商人 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.差分约束最长路与最短 ...
- Web项目部署指南
Web项目部署指南 本文记录了部署Vue项目到阿里云服务器上的过程,其中云服务器的操作系统是CentOS 7,Web服务器用的是nginx.因为项目涉及发送异步请求,而由Flask编写的后端应用监听的 ...
- 数据结构篇(2) ts实现单链表
interface NodeItem { prev: NodeItem | null next: NodeItem | null data: any } class NodeItem { prev: ...
- Linux-ssh-key验证
ssh登录验证方式介绍 ssh服务登录的常用验证方式 用户/口令 基于密钥 基于用户和口令登录验证 客户端发起ssh请求,服务器会把自己的公钥发送给用户 用户会根据服务器发来的公钥对密码进行加密 加密 ...
- 了解mybatis
什么是mybatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBati ...
- VUE3 之 自定义指令的实现 - 这个系列的教程通俗易懂,适合新手
1. 概述 老话说的好:能屈能伸的人生,才是完满而丰富的人生. 言归正传,今天我们来聊聊 VUE 中自定义指令的实现. 2. 自定义指令 2.1 文本框聚焦的实现 <body> < ...
- WSL与Windows环境共享
Reference 更多cmd.exe帮助参考 cmd_helps WSL备份及windows Docker安装 WSL安装维护 在使用wsl时,总是需要执行windows的cmd,但是windows ...
- Vulnhub-Tomato靶机实战
前言 靶机下载地址:https://www.vulnhub.com/entry/tomato-1,557/ KALI地址:192.168.94.108 靶机地址:192.168.94.30 一.信息收 ...
- 关于background-*的一些属性
1.盒模型 盒模型从外到内一次为:margin-box.border-box.padding-box.content-box. 2.一些属性设置的相对位置 ⑴background-position的属 ...
- Flask01 第一个flask项目
参考地址:https://github.com/miguelgrinberg/microblog/tree/v0.1 flask环境[苹果M1] 添加虚拟环境 python3 -m venv venv ...