nginx负载均衡-下线(上线)某台机器脚本
2013-11-25 14:25
302 查看
公司网站的架构是通过nginx来做负载均衡的,以前上下线都是通过手动更改配置文件,然后reload nginx的方式来实现!这种方式效率不怎么高,在这里自己写了一个shell脚本,提供给大家参考一下:
脚本中filelist需要手动建立的
类似:
cat filelist
10.0.0.1
10.0.0.2
10.0.0.3
另外脚本中没有加入重载nginx的操作,有需要的话可以自己添加!!
本文出自 “自助者天助!” 博客,请务必保留此出处http://chenyicai.blog.51cto.com/1593876/1331121
#!/bin/bash CONF="nginx.conf" HOST=${1:?'错误,请输入你要下线机器的ip,例如:192.168.144.41'} TestHost=`cat filelist |grep "\<$HOST\>"|wc -l` if [ $TestHost -eq 0 ];then echo "您输入的ip错误,请检查!!" exit 1 fi echo "=====================================" echo -e "1)上线某台机器\n2)下线某台机器\n3)退出" echo "=====================================" read -p "请输入需要操作的编号:" a backupfile="nginx.conf.`date +%Y-%m-%d-%H-%M-%S`" cp $CONF $backupfile TestONline=`sed -n '/^#.*'"$HOST"'/p' $CONF|wc -l` TestHost=`cat filelist |grep "\<$HOST\>"|wc -l` #ONline=`sed -i '/'"$HOST"'/s/^#//g' $CONF` #OFFline=`sed -i '/'"$HOST"'/s/^/#/g' $CONF` ONLINE(){ ONline=`sed -i '/'"$HOST"'/s/#//g' $CONF` if [ "$TestHost" -eq 0 ];then echo "您输入的ip不在线上服务器列表中,请重新输入!" exit 1 else if [ $TestONline -eq 0 ];then echo "您输入的ip目前已经在线上,请检查!!!" exit 1 else read -p "您确定要上线$HOST这台机器吗?(y/n)" cmd case $cmd in y|Y) $ONline echo -e "\033[32m \033[05m $HOST已上线!! \033[0m" ;; n|N) exit 1 ;; *) echo "您的输入只能是y或n,请重新操作!!" ;; esac fi fi } OFFLINE() { OFFline=`sed -i '/'"$HOST"'/s/^/#/g' $CONF` if [ "$TestHost" -eq 0 ];then echo "sorry,您输入的ip不在线上服务器列表中,请重新输入!" exit 1 else if [ $TestONline -eq 0 ];then read -p "您确定要下线$HOST这台机器吗?(y/n)" CMD case $CMD in y|Y) $OFFline echo -e "\033[32m \033[05m $HOST已下线!! \033[0m" ;; n|N) exit 1 ;; *) echo "您的输入只能是y或n,请重新操作!!" exit 1 ;; esac else echo "您要下线的机器目前已经在线下!!请检查!!" fi fi } case $a in 1) ONLINE ;; 2) OFFLINE ;; 3) exit 0 ;; esac注意:
脚本中filelist需要手动建立的
类似:
cat filelist
10.0.0.1
10.0.0.2
10.0.0.3
另外脚本中没有加入重载nginx的操作,有需要的话可以自己添加!!
本文出自 “自助者天助!” 博客,请务必保留此出处http://chenyicai.blog.51cto.com/1593876/1331121
相关文章推荐
- Nginx一台机器上负载均衡多个Tomcat
- Nginx的负载均衡,如何让某段时间访问A机器
- Nginx提供代理服务(网站代理),nginx实现负载均衡集群和高可用集群、nginx实现网站动静页面分离
- Nginx+Keepalived实现负载均衡高可用
- Nginx 负载均衡 - 实时配置(On-the-Fly Configuration)
- Nginx+keepalived 实现高可用的负载均衡
- Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离
- Keepalived + Nginx实现高可用 Web负载均衡
- Nginx的负载均衡 - 最少连接 (least_conn)
- 【Nginx】实现负载均衡的几种方式
- nginx之 nginx + tomcat + redis 负载均衡且session一致性
- Centos下Nginx+Apache+Mysql+Memcache实现多负载均衡与Session共享
- 高性能网站架构之负载均衡 Nginx+tomcat+redis实现tomcat集群
- 深入浅出Nginx之六【代理缓存与负载均衡】
- nginx+tomcat+memcached实现负载均衡与session共享
- tomcat+nginx+redis实现均衡负载、session共享
- Nginx+Tomcat实现负载均衡、Redis实现Tomcat session会话共享
- nginx做负载均衡和tomcat简单集群
- windows使用nginx实现网站负载均衡测试实例
- nginx 配置nginx.conf,负载均衡,逻辑分流