Nginx平滑升级

线上环境nginx的版本为1.6.3,收到Web漏洞检测:
显示:NGINX版本过低,存在整数溢出漏洞(CVE-2017-7529)
           影响范围:Nginx 0.5.6 - 1.13.2 
决定升级nginx1.6.3 至nginx1.14.2版本
升级步骤:
1.使用nginx -V 查看当前nginx 版本,以及编译参数。

[root@qianxi ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.6.3 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi/ --with-poll_module --with-file-aio --with-http_realip_module --with-http_addition_module --with-http_random_index_module --with-pcre --with-http_stub_status_module --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp

2.下载需要升级的版本,编译

wget http://nginx.org/download/nginx-1.14.2.tar.gz    //下载1.14.2版本安装包

tar xf nginx-1.14.2.tar.gz   //解压

cd nginx-1.14.2

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi/ --with-poll_module --with-file-aio --with-http_realip_module --with-http_addition_module --with-http_random_index_module --with-pcre --with-http_stub_status_module --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp    //进行编译

make    //只用make  不用make install

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old   //备份原来老的nginx执行文件

make编译完后会在安装目录下生成一个objs目录且在该目录下有一个nginx执行文件 
cp objs/nginx /usr/local/nginx/sbin/

/usr/local/nginx/sbin/nginx -t   //检查下语法 

make upgrade   // 使用make upgrade替换老的nginx进程

/usr/local/nginx/sbin/nginx -V    //查看升级后的版本

3.升级完成

[root@qianxi ~]# curl -I http://127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Fri, 30 Aug 2019 06:29:14 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 30 Aug 2019 02:12:35 GMT
Connection: keep-alive
ETag: "5d688613-264"
Accept-Ranges: bytes

当升级完成后,如果新版本由于未知bug导致与应用不兼容,或出现运行不稳定的情况,需要版本回滚。

你可能感兴趣的:(Nginx平滑升级)