nginx平滑自动升级脚本

#!/bin/bash

Update_nginx()
{
	wget http://nginx.org/download/nginx-1.16.1.tar.gz
	tar -zxf nginx-1.16.1.tar.gz
	cd nginx-1.16.1
	./configure --user=nobody --group=nobody \
	--prefix=/usr/local/nginx \
    	--with-http_stub_status_module \
    	--with-http_ssl_module
	make
	mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak_${CDATE}
	cp objs/nginx /usr/local/nginx/sbin/nginx
	echo "查看nginx版本"
	/usr/local/nginx/sbin/nginx -t
	#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
	kill -USR2 `ps aux | grep "nginx: master process" | grep -v grep | awk '{print $2}'`
	sleep 3
	test -f /usr/local/nginx/logs/nginx.pid.oldbin && echo OK!
	read -p "上面是否输出旧版本的pid变成oldbin和OK信息,输入yes进行下一步:" canshu
	while [ ${canshu} != "yes" || ${canshu} != "YES" || ${canshu} != "y" || ${canshu} != "Y" ];
	do
		test -f /usr/local/nginx/logs/nginx.pid.oldbin && echo OK!
		read -p "上面是否输出旧版本的pid变成oldbin和OK信息,输入yes进行下一步:" canshu	
	done
        kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`
        kill -HUP `cat /usr/local/nginx/logs/nginx.pid.oldbin`
        kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
        echo "查看升级后的nginx版本"
        /usr/local/nginx/sbin/nginx -V
	rm -rf nginx-1.16.1
}

Update_nginx_zhidong()
{
        wget http://nginx.org/download/nginx-1.16.1.tar.gz
        tar -zxf nginx-1.16.1.tar.gz
        cd nginx-1.16.1
        ./configure --user=nobody --group=nobody \
        --prefix=/usr/local/nginx \
        --with-http_stub_status_module \
        --with-http_ssl_module
        make
        mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak_${CDATE}
        cp objs/nginx /usr/local/nginx/sbin/nginx
        echo "查看nginx版本"
        /usr/local/nginx/sbin/nginx -t
	make upgrade
	if [[ $? != 0 ]];then
		echo "升级失败,请手动升级"
	else
		/usr/local/nginx/sbin/nginx -V
		rm -rf nginx-1.16.1
	fi
}

cd `dirname $0`
action=${1}
CDATE=`date '+%Y-%m-%d'`
#Update_nginx
if [[ ${action} == "update_nginx" ]];then
	Update_nginx_zhidong
else
	echo "$0 update_nginx"
	exit
fi

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值