Nginx-1.6.2升级到Nginx-1.7.2
- 查看目前nginx的相关配置
# /usr/local/nginx/sbin/nginx -V
nginx version: TWS
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
-
下载需要更新的Nginx源码包
wget -c http://nginx.org/download/nginx-1.7.2.tar.gz
-
解压并编译
cd /usr/local/src/
tar zxvf nginx-1.7.2.tar.gz
配置的内容与原版本保持一致
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
配置完成后只需要执行make
,切忌不可执行make install
-
备份旧版本的nginx
cd /usr/local/nginx/sbin/
mv nginx nginx.old
-
同步新版本的nginx
cp /usr/local/src/nginx-1.7.2/objs/nginx /usr/local/nginx/sbin/
-
测试新版本配置
/usr/local/nginx/sbin/nginx –t
-
平滑重启升级Nginx
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
旧版本Nginx的pid变为oldbin,这是旧版本和新版本的nginx同时运行,过一段时间等就nginx处理完用户请求
-
从容关闭旧版本的Nginx进程
kill -WINCH `cat /usr/local/nginx/log/nginx.oldbin`
-
决定是否升级到新版的nginx
kill –HUP `cat /usr/local/nginx/log/nginx.oldbin`
##nginx在不重载配置文件启动工作进程
kill –QUIT `cat /usr/local/nginx/log/nginx.oldbin`
##关闭旧版nginx
验证nginx是否升级成功 -
成功升级
/usr/local/nginx/sbin/nginx –V
###显示新版本则升级成功
网友评论