Nginx平滑升级脚本,实现不间断服务

轻量级Web服务器nginx 1.2.6稳定版今天发布了,把博客VPS 上Nginx升级之后记录了下过程,并且写成脚本方便以后升级,也可供有需要的朋友使用。脚本写的很简单,基本都是命令序列,不完善和需要改进的地方希望你能指出。

此脚本只适用于编译安装的Nginx,运行之前需要编辑nginx的编译安装路径和升级后的版本。脚本红色处是需要编辑的地方。

Nginx平滑升级脚本

#!/bin/bash
# Description:  A Shell Script For Nginx update
# Author:       Sunk
# Web Site:     http://www.1987.name
# Last Update:  2012-12-12

#Edit You Nginx Installation Path
Nginx_Install_URL="/usr/local/webserver/nginx"

#Edit You Upgraded Version
Nginx_Version="1.2.6"

#The following does not need to edit
cd /usr/local/src
$Nginx_Install_URL/sbin/nginx -V &> $$
Configure_Arguments=`cat $$ | awk -F ":" '/^configure/{ print $2 }' | cut -c2-`
Configure_Command="./configure $Configure_Arguments"
wget http://nginx.org/download/nginx-$Nginx_Version.tar.gz
tar zxvf nginx-$Nginx_Version.tar.gz && cd nginx-$Nginx_Version
$Configure_Command && make
mv $Nginx_Install_URL/sbin/nginx $Nginx_Install_URL/sbin/nginx.old; cp objs/nginx $Nginx_Install_URL/sbin/
$Nginx_Install_URL/sbin/nginx -t
if [ $? -eq 0 ];
then
	kill -USR2 `cat $Nginx_Install_URL/nginx.pid`
	kill -QUIT `cat $Nginx_Install_URL/nginx.pid.oldbin`
	echo -e "\033[32;49;1mUpgrade is Successful\033[39;49;0m"
	$Nginx_Install_URL/sbin/nginx -v
else
	echo -e "\\033[37;41;1mUpgrade Fails, check the reason. Before restart nginx will not affect the current site service.\033[37;41;0m"
fi
rm -f /usr/local/src/$$
find /usr/local/src -mtime +1 -name "nginx-*" -exec rm -fr {} \;

脚本注解

重名/sbin/nginx为nginx.old

mv $NginxInstallURL/sbin/nginx $NginxInstallURL/sbin/nginx.old

复制编译后objs目录下的nginx文件到nginx的安装目录sbin/下

cp objs/nginx $NginxInstallURL/sbin/

让nginx把nginx.pid文件修改成nginx.pid.oldbin,随即启动nginx,实现不间断。

kill -USR2 `cat $NginxInstallURL/nginx.pid`
kill -QUIT `cat $NginxInstallURL/nginx.pid.oldbin`

有不足之处请在评论指出。

4条评论

写评论
  • ABCD你是急

    轻轻的我走了,
    正如我轻轻的来
    留下一串脚印,
    等你来回踩
    。。。

  • 小清新

    路过,
    打个酱油
    ,,,,,,
    踩两脚,
    留个脚印
    。。。。。。。

  • 魅力卡公主

    总得留点什么??想来想去,就留个脚印吧。。哈哈

    • 奔跑

      ;-) 你也可以建立自己独立博客。。

您必须登录后才可以发表评论。

本人从事电脑网络维护工作多年,对电脑配置较为熟悉,闲暇之余精心搜罗了目前主流电脑配置清单推荐给大家。紧跟市场动态,定期更新电脑硬件配置方案,扫除一切垃圾坑爹配置,提供最具性价比的电脑配置清单!本站涵盖内容包括:电脑组装机配置单、电脑组装机报价、电脑组装机教程等,另外还提供很多技术文章供您学习!