nginx 实现版本空中升级

2015.10.22 nginx 实现版本空中升级已关闭评论

nginx  空中升级
下载所需版本的Nginx
wget  http://nginx.org/download/nginx-1.9.5.tar.gz
2、  获取旧版本nginx的configure选项
/xxx/nginx/sbin/nginx -V
3、  编译新版本的nginx
cd /opt/software/nginx
tar xvf nignx-1.9.5.tar.gz
cd nginx-1.9.5
./configure –prefix=/opt/nginx –user=www –group=www \
–with-http_stub_status_module --with-http_ssl_module
make
4、  备份旧版本的nginx可执行文件,复制新版本的nginx这行文件

mv /opt/nginx/sbin/nginx /opt/nginx/sbin/nginx.old
cp objects/nginx /opt/nginx/sbin/nginx
5、  测试新版本nginx是否正常
/opt/nginx/sbin/nginx –t –c /opt/nginx/conf/nginx.conf
6、  平滑升级nginx
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
7、  旧版本Nginx的pid变为oldbin,这是旧版本和新版本的nginx同时运行,过一段时间等就nginx处理完用户请求后,执行下面操作
8、  从容关闭旧版本的Nginx进程(可略)
kill -WINCH `cat /usr/local/nginx/logs/nginx.pid`
9、  决定是否升级到新版的nginx

kill -HUP `cat /usr/local/nginx/logs/nginx.pid.oldbin` ##nginx在不重载配置文件启动工作进程
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` ##关闭旧版nginx
10、验证nginx是否升级成功
/opt/nginx/sbin/nginx –V

评论已关闭。