Nginx-自动漂移VIP
自动漂移VIP-1
#!/bin/bash
#2020-03-16 14:24
#auto change nginx vip.sh
#By Precious
################################
NGX_PRE="24"
ETH_ENS="ens33:0"
NGX_VIP="192.168.1.188"
ETH_DIR="/etc/sysconfig/network-scripts/"
while true
do
NGX_NUM="$(ps -ef|grep nginx |grep -v grep|grep -v change|wc -l)"
if [ $NGX_NUM -ne 0 ];then
ping -c 2 $NGX_VIP
if [ $? -ne 0 ];then
cd $ETH_DIR
cp ifcfg-ens33 ifcfg-$ETH_ENS
cat >>ifcfg-$ETH_ENS<<EOF
BOOTPROTO=none
DEFROUTE=yes
DEVICE=$ETH_ENS
IPADDR=$NGX_VIP
PREFIX=$NGX_PRE
EOF
cat ifcfg-$ETH_ENS
ifup ifcfg-$ETH_ENS
fi
else
ifdown ifcfg-$ETH_ENS
rm -rf $ETH_DIR/ifcfg-$ETH_ENS
fi
sleep 2
done
自动漂移VIP-2
#!/bin/bash
#2020年1月7日20:42:50
#auto change service VIP
#by author www.jfedu.net
########################
ETH_NAME="ens33:1"
NGX_VIP="192.168.1.188"
NGX_MASK="255.255.255.0"
ETH_DIR="/etc/sysconfig/network-scripts"
NGX_NUM=`ps -ef|grep nginx|grep -v grep|grep -v check|wc -l` start(){
while sleep 4
do
if [ $NGX_NUM -eq 0 ];then
ifdown $ETH_NAME
exit 0
else
ping -c 2 $NGX_VIP >/dev/null 2>&1
if [ $? -ne 0 ];then
cat>$ETH_DIR/ifcfg-$ETH_NAME<<EOF
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="$ETH_NAME"
IPADDR=$NGX_VIP
NETMASK=$NGX_MASK
ONBOOT="yes"
EOF
ifup $ETH_NAME
fi
fi
date
done
} stop(){
ifdown $ETH_NAME
rm -rf $ETH_DIR/ifcfg-$ETH_NAME
} case $1 in
start)
start
;;
stop)
stop
;;
*)
echo -e "\033[32m------------------\033[0m"
echo -e "\033[32mUsage: /bin/sh $0 {start|stop|help}\033[0m"
exit 1
esac
Nginx-自动漂移VIP的更多相关文章
- 负载均衡实现故障vip自动漂移
环境说明演示vip自动漂移 192.168.237.50 192.168.237.51 vip: 192.168.237.5 keepalived开源软件实现 keepalived可以实现当vip挂的 ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- 解剖Nginx·自动脚本篇(5)编译器相关主脚本
在 Nginx 的自动脚本中,auto/cc目录下的所有脚本都是用于编译器相关配置使用的.Nginx的出色跨平台性(Linux.Darwin.Solaris.Win32 等)就有这些脚本的贡献.该目录 ...
- redis主从+ 哨兵模式(sentinel)+漂移VIP实现高可用系统
原文:https://www.jianshu.com/p/c2ab606b00b7 客户端程序 客户端程序(如PHP程序)连接redis时需要ip和port,但redis-server进行故障转移时, ...
- Nginx自动加载配置文件方案
nginx自动加载配置文件方案一.nginx+consul+consul-template实现过程:consul作为服务发现软件,consul-template作为nginx配置文件的模板,consu ...
- Redis 主从 keepalived高可用 实现 VIP 自动漂移
Redis 多主写多从度 配置启动OK :直接配 keepalived 相关配置: redis 默认路径 :/usr/local/redis keepalived 默认路径 :/etc/keepal ...
- nginx自动检测后台服务器健康状态
转自http://www.iyunv.com/thread-38535-1-1.html 公司业务线上对后端节点的健康检查是通过nginx_upstream_check_module模块做的,这里我将 ...
- nginx 自动忽略request中header name包含下划线参数的解决方法
使用nginx过程中遇到了个问题,就是request中的header name中如果包含下划线会自动忽略掉,导致服务器接收不到该字段的内容,以下为解决方法: nginx默认request的header ...
- nginx自动切割访问日志
Web 访问日志 (access_log) 记录了所有外部客户端对Web服务器的访问行为,包含了客户端IP,访问日期,访问的URL资源,服务器返回的HTTP状态码等重要信息. 一条典型的Web访问日志 ...
- 解剖Nginx·自动脚本篇(4)工具型脚本系列
目录 auto/have 向自动配置头文件追加可用宏定义(objs/ngx_auto_config.h) auto/nohave 向自动配置头文件追加不可用宏定义(objs/ngx_auto_conf ...
随机推荐
- S32Kxxx bootloader之LIN bootloader
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 上一次发布博文到如今既 ...
- C++图像处理函数及程序(一)
C++开源项目: Boost.GIL:通用图像库 CImg :用于图像处理的小型开源C++工具包 CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JP ...
- linux内核编译体验篇(一)
文章目录 一. 准备环境 二. 获取内核源码 三. 交叉编译工具链的配置 1. 博友们常用安装方法链接 2. 公司常用的交叉工具链使用方法 四. 内核解压以及如何打补丁 五. 内核基本配置 1. 编译 ...
- Redis解决网络抖动问题
Redis解决网络抖动问题 所谓网络抖动问题, 简单来说就是防止用户短暂的时间内对同一个接口多次点击访问 这里利用的是redis锁的原子性和with Statement上下文管理器实现, 另外该类还支 ...
- 学习 YAML 语法
符号 意义 备注 - 表示数组 数组也叫序列 # 表示注释 只支持单行注释 空格缩进 表示层级关系 相同层级左侧必须对齐 --- 表示一份内容的开始 ... 表示一份内容的结束 可省略 : 表示键值对 ...
- 用go语言和正则表达式写的linux危险命令拦截
需求如下: package main import "fmt" import "regexp" func main() { var s = "cat ...
- Django 组织json格式
@api_view(['GET', 'POST']) def api_test(request): classes = Classes.objects.all() # classes_data = C ...
- Cobalt Strike 4.0系列教程
https://blog.csdn.net/weixin_45745344/article/details/109279097
- 堆 Heap & 栈 Stack(.Net)【概念解析系列_3】【C# 基础】
〇.前言 本文主要围绕 .Net 框架中的托管堆(Heap,简称堆)和堆栈(Stack,简称栈)展开. .Net 程序在 CLR(Common Language Runtime 公共语言运行时)上运行 ...
- .net开发-心情与效率
随着现代科技的不断发展,笔记本电脑已经成为我们日常生活中不可或缺的一部分.然而,在使用笔记本电脑的过程中,我们可能会遇到一些问题,例如显示器闪烁.HDMI接口接触不良等,这些问题不仅会影响我们的工作效 ...