文章目录

  • 前言
  • 3)基于SHELL编程脚本一键实现Nginx高可用,主要编程思路如下:
  • auto_config_Nginx_vip_2_v1.sh
  • auto_config_Nginx_vip_2_v2.sh
  • 总结

前言

3)基于SHELL编程脚本一键实现Nginx高可用,主要编程思路如下:

两台Nginx WEB服务器,引入VIP地址1.188;
用户访问的域名跟192.168.1.188绑定(解析);
保障VIP1.188同一时刻只能在一台Nginx服务器上;
一台Nginx宕机,可以自动切换至另外一台Nginx提供服务。

auto_config_Nginx_vip_2_v1.sh

#!/bin/bash
#auto check nginx vip
ETH_NAME="ens33:0"
ETH_VIP="192.168.1.188"
ETH_MASK="255.255.255.0"
ETH_DIR="/etc/sysconfig/network-scripts"function eth_config(){cat>ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEVICE=$ETH_NAME
ONBOOT=yes
IPADDR=$ETH_VIP
NETMASK=$ETH_MASK
EOF
}
while true
doCHECK_NUM=$(ps -ef|grep nginx|grep -v grep|grep -v check|wc -l)if [ $CHECK_NUM -ne 0 ];thenping -c 5 $ETH_VIPif [ $? -ne 0 ];thencd $ETH_DIReth_configifup $ETH_NAMEfielseifdown $ETH_NAMErm -rf $ETH_DIR/ifcfg-$ETH_NAMEfisleep 5
donesleep 5
done

auto_config_Nginx_vip_2_v2.sh

#!/bin/bash
#auto change service VIP
##########################
ETH_NAME="ens33:1"
NGX_VIP="192.168.1.188"
NGX_MASK="255.255.255.0"
ETH_DR="/etc/sysconfig/network-scripts"
NGX_NUM=`ps -ef|grep nginx|grep -v grep|grep -v check|wc -l`start(){
while sleep 4
doif [ $NGX_NUM -eq 0 ];thenifdown $ETH_NAMEexit 0elseping -c 2 $NGX_VIP>/dev/null 2>&1if [ $? -ne 0 ];thencat >$ETH_DIR/ifcfg-$ETH_NAME<<-EOFTYPE="Ethernet"BOOTPROTO="static"DEVICE="$ETH_NAME"IPADDR=$NGX_VIPNETMASK=$NGX_MASKONBOOT="yes"EOFifup $ETH_NAMEfifidate
done
}stop(){ifdown $ETH_NAMErm -rf $ETH_DIR/ifcfg-$ETH_NAME
}case $1 instart)start;;stop)stop;;*)echo -e "\033[32m-----------------\033[0m"echo -e "\033[32mUsage:/bin/sh $0 {start|stop|help}\033[0m"exit 1;;
esac

总结

Keepalived-在没有之前配置的Nginx高可用(不建议采纳)相关推荐

  1. Nginx配置——搭建 Nginx 高可用集群(双机热备)

    Nginx配置--搭建 Nginx 高可用集群(双机热备) https://blog.csdn.net/zxd1435513775/article/details/102508573?utm_medi ...

  2. keepalived实现nginx高可用主备集群配置过程

    keepalived实现nginx高可用基本原理: keepalived安装命令: yum install keepived -y 使用ip -a验证是否安装成功 nginx存活检测脚本nginx_c ...

  3. linux下初步实现Keepalived+Nginx高可用

    一.Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合Nginx可以实现web前端服务的高可用. 二.基于上篇搭建好Ngi ...

  4. 【7W字长文】使用LVS+Keepalived实现Nginx高可用,一文搞懂Nginx

    往期文章一览 分布式会话与单点登录SSO系统CAS,包含完整示例代码实现 [15W字长文]主从复制高可用Redis集群,完整包含Redis所有知识点 使用LVS+Keepalived实现Nginx高可 ...

  5. 图文教程,Nginx+Keepalived(双机热备)介绍已经搭建高可用负载均衡环境

    上一次分享了Nginx相关的应用场景如下: ​Nginx介绍以及一些应用场景说明 在实际使用,单机版的Nginx就不能满足高可用的要求了,在这种情况下,我们使用Nginx+Keepalived(双机热 ...

  6. 搭建Keepalived+Nginx高可用负载均衡服务器

    一.服务器搭建策略 单机模式: 只有一台应用服务器,组成一个单机模式 优点:简单方便(搭建.运营.维护) 缺点:不能出故障(停电.断网.系统崩溃.硬件老化.性能瓶颈) 应用场景:小型项目(几十个人) ...

  7. keepalived+nginx高可用

    根据上面图片可以看出,两台机器均安装keepalived之后,如果124机器宕机了,那么117机器就会变成master,网页照样可以访问.下面正式介绍keepalived+nginx高可用安装使用方法 ...

  8. keepalived实现nginx高可用

    keepalived实现nginx高可用 文章目录 keepalived实现nginx高可用 一. keepalived简介 1. keepalived是什么? 1.1 keepalived[官网]( ...

  9. 搭建Nginx高可用集群(keepalived+双机热备)

    一.Nginx高可用 首先了解一下什么是高可用,高可用是分布式系统架构中必须考虑的因素. 我们都知道,使用nginx的反向代理和负载均衡可以解决tomcat等web容器的单点故障以及高并发等问题. 反 ...

最新文章

  1. 来自程序员的福利!用Python做一款翻译软件
  2. AI新基建哪家强?百度“秀肌肉”,意在C位
  3. 特斯拉线圈的阻抗分析
  4. Lintcode 408 解题思路及c++代码
  5. CreateInstall5.7.2 帮助文档翻译
  6. 控制面版中文件服务器属性,《服务器配置与管理》第3章基本配置.pptx
  7. 一个filter子查询测试
  8. LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  9. SAP Commerce Cloud 的本地开发
  10. window10 mysql5.7 解压版 安装
  11. android 调用系统自带文件管理器_编写使用Android 系统自带的文字转语音代码
  12. mysql 设置默认值_为什么 Flink 无法实时写入 MySQL?
  13. 开源.NET项目 CSS、JS资源优化类库及工具
  14. [Sciter] 资源引用
  15. 游戏目标的三个核心组成部分
  16. 人工智能吹来的是失业的寒风还是发展的春风?
  17. MapReduce 与 Database 的乌龙战
  18. Win10电脑怎么更改UEFI固件设置
  19. Win10如何用cmd或者Powershell批量安装字体
  20. 关注中国IT产业的明天

热门文章

  1. 数据库学习(Oracle)
  2. 因系统因配置问题报错,如何调整(两类 【与外界其他环境相关联】 【★自身配置★】(★关注web.xml★))
  3. 解决java.lang.OutOfMemoryError: unable to create new native thread问题
  4. Vue2.0用户权限控制解决方案
  5. 【转】解决 canvas 在高清屏中绘制模糊的问题
  6. 解决 ModuleNotFoundError: No module named ‘requests‘ 问题
  7. MySQL存储过程的异常处理
  8. VMware 安装提示缺少MicrosoftRuntime DLL 问题解决办法
  9. mysql not in 的坑 -- null 值
  10. QObject::startTimer: Timers cannot be started from another thread [使用自定义信号与曹函数来解决在子线程中不能调用QTimer定时器]