码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx平滑升级

时间:2020-06-04 20:03:11      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:pre   http   local   hup   文件   新版   root   脚本   注意   

有时候我们可能需要对Nginx进行升级,例如检测到Nginx漏洞,或者因为业务需要等情况。

下面我就来说一下Nginx平滑升级步骤

整个升级过程中,无需停止Nginx服务,不会影响到业务

需求模拟:nginx-1.18.0 =》nginx-1.19.0

环境说明:

系统版本:Centos7.7

Nginx版本:nginx-1.18.0

(一)编译新版本nginx

注意:无需执行make install,一旦执行make install会导致原nginx程序异常

如需验证nginx业务是否有受到影响,请跳转至第三步

tar -zxvf nginx-1.19.0.tar.gz
cd nginx-1.19.0/
./configure --prefix=/usr/local/nginx
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak    #原nginx可执行文件备份
cp objs/nginx /usr/local/nginx/sbin/nginx    #新版本的nginx编译后,会在objs目录下生成一个可执行nginx文件,使用该文件代替原nginx可执行文件
make upgrade    #执行升级,原nginx要求使用绝对路径运行,如下图。执行到这里就算是升级完成了

技术图片

 (二)确认是否升级成功

比较简单的办法,就是直接nginx -V查看一下版本信息,如下。可以可以看到升级到1.19版本了

[root@bp nginx-1.19.0]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.19.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
configure arguments: --prefix=/usr/local/nginx

(三)验证nginx业务是否受到影响

我写了个脚本检测nginx页面返回码,如下

[root@bp ~]# cat nginxcode.sh 
#!/bin/bash
while (true)
do
    curl --silent -I 106.13.13.242|grep 200 >> code.txt
done
[root@bp ~]# nohup ./nginxcode.sh &
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
。。。

在平滑升级过程中,另开一个窗口查看脚本输出情况,该脚本正常情况下会一直输出200返回码,即说明nginx业务未受影响

Nginx平滑升级

标签:pre   http   local   hup   文件   新版   root   脚本   注意   

原文地址:https://www.cnblogs.com/biaopei/p/13045375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!