Nginx+Keepalived高可用部署脚本与案例实战精讲.pdfVIP

  • 0
  • 0
  • 约6.29万字
  • 约 78页
  • 2026-02-05 发布于北京
  • 举报

Nginx+Keepalived高可用部署脚本与案例实战精讲.pdf

京峰JF2117-Day44上课笔记Nginx+Keepalived案例实战

1、Nginx双机高可用部署(v1版本)

1)高可用架构主要是指两台(多台)服务器、、数据库之间的架构,当其

中一台宕机或者异常,能够快速启用(切换)另外一台,保障门户、业务系

统、数据库持续服务,防止业务单点故障。

2)高可用不代表、数据库、业务系统不宕机,而表示、数据库、业务

系统宕机时间比较短,能够快速解决或者恢复等。衡量的高可用通常使

用9表示,例如可用率是99%、99.9%、99.999%。

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

◼两台NginxWEB服务器,引入地址1.188;

◼用户的跟88绑定(解析);

◼保障1.188同一时刻只能在一台Nginx服务器上;

◼一台Nginx宕机,可以自动切换至另外一台Nginx服务。

#!/bin/bash

#10:00:10

#autochecknginx.

#byauthor

########################

ETH_NAME=ens33:0

ETH_=88

ETH_MASK=

ETH_DIR=/etc/sysconfig/network-scripts

functioneth_config(){

catifcfg-$ETH_NAMEEOF

TYPE=Ethernet

BOOTPROTO=static

DEVICE=$ETH_NAME

ONBOOT=yes

IPADDR=$ETH_

NETMASK=$ETH_MASK

EOF

}

whiletrue

do

CHECK_NUM=$(ps-ef|grepnginx|grep-vgrep|grep-vcheck|wc-l)

if[$CHECK_NUM-ne0];then

ping-c5$ETH_

if[$?-ne0];then

cd$ETH_DIR

eth_config

ifup$ETH_NAME

fi

else

ifdown$ETH_NAME

rm-rf$ETH_DIR/ifcfg-$ETH_NAME

fi

sleep5

done

2、Nginx双机高可用部署(v2版本)

#!/bin/bash

#20:42:50

#autochangeservice

#byauthor

########################

ETH_NAME=ens33:1

NGX_=88

NGX_MASK=

ETH_DIR=/etc/sysconfig/network-scripts

NGX_NUM=`ps-ef|grepnginx|grep-vgrep|grep-vcheck|wc-l`

start(){

whilesleep4

do

if[$NGX_NUM-eq0];then

ifdown$ETH_NAME

exit0

else

ping-c2$NGX_/dev/null21

if[$?-ne0];then

cat$ETH_DIR/ifcfg-$ETH_NAMEEOF

TYPE=Ethernet

BOOTPROTO=static

DEVICE=$ETH_NAME

IPADDR=$NGX_

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$1in

start)

start

;;

stop)

stop

;;

*)

echo-e\03

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档