1、下载所需版本的Nginx
wget http://www.nginx.org/download/nginx-1.4.2.tar.gz
2、获取旧版本 nginx 的 configure 选项
/usr/local/nginx/sbin/nginx -V
3、编译新版本的nginx
tar -xvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stup_status_module --with-http_ssl_module
make
4、备份旧版本的nginx可执行文件,复制新版本的nginx这行文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp objs/nginx/ nginx/sbin/nginx -t
5、平滑重启升级nginx
kill -USR2 `cat /usr/local/nginx/log/nginx.pid`
旧版本Nginx的pid变为oldbin,这是旧版本和新版本的nginx同时运行,过一端时间等就nginx处理完用户请求后,执行下面操作从容关闭旧版本的Nginx进程。
6、从容关闭旧版本的Nginx进程
kill -WINCH `cat /usr/local/nginx/log/nginx.oldbin`
7、决定是否升级到新版的nginx
kill -HUP `cat /usr/local/nginx/log/nginx.oldbin` ## nginx在不重载配置文件启动工作进程
kill -QUIT `cat/usr/local/nginx/log/nginx.oldbin` ## 关闭旧版nginx
8、验证nginx是否升级成功
/usr/local/nginx/sbin/nginx -V ### 显示下图则升级成功
网友评论