nginx平滑(不重启)升级

1.升级和安装nginx第三方模块同样,须要查看原来安装nginx的版本以及编译的参数

[root@ittestserver1 opt]# /usr/local/nginx2/sbin/nginx -V
nginx version: nginx/1.10.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 
built with OpenSSL 1.1.0e  16 Feb 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx2 --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_stub_status_module --with-http_v2_module --with-openssl=/tmp/install/openssl-1.1.0e --with-http_v2_module



#注意【configure arguments】,升级的时候,要保持一致!

2.下载要升级的nginx版本

这个再也不赘述,本身用wget或者去官网上面下压缩包,而后ftp上传便可。下载地址:http://nginx.org/cn/download.htmlhtml

3.解压ningx安装包,进行configure 操做(参数与步骤1中查询出来额一致)。

[root@ittestserver1 soft]# tar xf nginx-1.12.1.tar.gz 
[root@ittestserver1 soft]# cd nginx-1.12.1
[root@ittestserver1 nginx-1.12.1]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
[root@ittestserver1 nginx-1.12.1]# ./configure  --prefix=/usr/local/nginx2 \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-openssl=/tmp/install/openssl-1.1.0e \
--with-http_v2_module

PS:服务器若是没有安装nginx依赖的软件,好比openssl、prce等,且本身不是root用户,没法使用yum进行安装,能够使用参数来指定相应依赖的源码路径(依赖源码需本身去下载),例如指定prce依赖:--with-pcre=【prce源码】nginx

4.执行make,切记不是make install

[root@ittestserver1 soft]# make

5.备份原来老的nginx文件,并将新的nginx文件复制过去

[root@ittestserver1 nginx-1.12.1]# mv /usr/local/nginx2/sbin/nginx /usr/local/nginx2/sbin/nginx.bak

[root@ittestserver1 nginx-1.12.1]# cp objs/nginx  /usr/local/nginx2/sbin/

6.使用make upgrade替换老的nginx进程(平滑升级)

[root@ittestserver1 nginx-1.12.1]# make upgrade


#注意是在进行make的目录下进行的

7.执行/usr/local/nginx2/sbin/nginx -V查看nginx最新的版本及编译的参数

[root@ittestserver1 nginx-1.12.1]# /usr/local/nginx2/sbin/nginx -V
nginx version: nginx/1.12.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 1.1.0e  16 Feb 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx2 --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_stub_status_module --with-http_v2_module --with-openssl=/tmp/install/openssl-1.1.0e --with-http_v2_module

 

参考:https://blog.51cto.com/liqingbiao/1948430服务器

相关文章
相关标签/搜索