当前位置: 代码网 > 服务器>服务器>Linux > nginx 版本升级的实现方法

nginx 版本升级的实现方法

2024年09月14日 Linux 我要评论
nginx 的版本最开始使用的是nginx-1.18.0, 由于服务升级,需要将 nginx 的版本升级到nginx-1.19.7,要求 nginx 不能中断提供服务。为了应对上述的需求,提供两种解决

nginx 的版本最开始使用的是 nginx-1.18.0 , 由于服务升级,需要将 nginx 的版本升级到 nginx-1.19.7 ,要求 nginx 不能中断提供服务。

为了应对上述的需求,提供两种解决方案:

  • 方案1: make upgrade 完成升级
  • 方案2: 服务信号 完成升级

nginx 版本升级

环境说明

当前是 centos7 服务器。

点击进入 nginx 下载页面

环境准备

1)已安装的 nginx 版本信息

nginx -v
或者
/usr/local/nginx/sbin/nginx -v

可以看出当前版本为 1.18.0,如下图所示:

在这里插入图片描述

2)下载当前最新版本 nginx-1.19.7,并通过xftp上传至服务器,然后执行解压命令。

tar -zxvf nginx-1.19.7.tar.gz

如下图所示:

在这里插入图片描述

3)解压后,对最新版 nginx 进行配置

(1)查看现有版本(老版本)nginx 的 configure 配置信息

nginx  -v

如图所示,得到 configure 的配置信息。

在这里插入图片描述

(2)然后,再对新版 nginx 进行配置。

./configure  --prefix=/usr/local/nginx

如下图所示:

在这里插入图片描述

4)接着,进行 make

make

进行编译,切记千万不要输入 make install ,如下图所示:

在这里插入图片描述

5)这样,最新版本nginx的目录下会多出来一个objs目录,如下图所示:

在这里插入图片描述

6)对老版本 sbin 目录下的 nginx 进行备份:

mv /usr/local/nginx/sbin/nginx   /usr/local/nginx/sbin/nginx.old

如下图所示:

在这里插入图片描述

7)将编译好的 objs 目录下的 nginx 文件,复制到 /usr/local/nginx/sbin 目录。

cp /root/nginx-1.19.7/objs/nginx   /usr/local/nginx/sbin/nginx

如下图所示:

在这里插入图片描述

方案1:make upgrade 命令升级

1)对 nginx 升级

make upgrade

如下图所示:

在这里插入图片描述

2)查看升级后的版本

/usr/local/nginx/sbin/nginx  -v

可以看到升级成功,并且过程中服务不中断,如下图所示:

在这里插入图片描述

5)通过浏览器可以访问到nginx的主页。

如下图所示:

在这里插入图片描述

方案2:服务信号升级

1)平滑重启升级nginx

发送信号 usr2 给 nginx 的 1.18.0 版本对应的 master 进程。

kill -usr2 `cat /usr/local/nginx/log/nginx.pid`

旧版本 nginx 的 pid 变为 oldbin ,这是旧版本和新版本的 nginx 同时运行,过一端时间等就 nginx 处理完用户请求后,执行下面操作从容关闭旧版本的 nginx 进程。

2)从容关闭旧版本的nginx进程

kill -winch `cat /usr/local/nginx/log/nginx.oldbin`

3)决定是否升级到新版的 nginx

发送信号 quit 给 nginx 的 1.18.0 版本对应的 master 进程。

## nginx在不重载配置文件启动工作进程
kill -hup `cat /usr/local/nginx/log/nginx.oldbin`  

## 关闭旧版nginx
kill -quit `cat/usr/local/nginx/log/nginx.oldbin`

4)验证nginx是否升级成功

/usr/local/nginx/sbin/nginx -v

到此这篇关于nginx 版本升级的实现方法的文章就介绍到这了,更多相关nginx 版本升级内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com