侧边栏壁纸
博主头像
与晚风述往事博主等级

万般皆下品,唯有读书高。

  • 累计撰写 149 篇文章
  • 累计创建 29 个标签
  • 累计收到 19 条评论

目 录CONTENT

文章目录

Nginx平滑升级版本

与晚风述往事
2022-05-26 / 0 评论 / 0 点赞 / 610 阅读 / 683 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-26,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

起因

今天,突然心血来潮点了下Nginx官网,我发现最新稳定版本已经变成了1.22.0。于是,就打算将Nginx升级到最新版本,简单查询了下资料发现,Nginx是可以平滑升级的。平滑升级,简单来说就是不停服务升级,对于Nginx的用户来说,是完全感知不到Nginx服务是有停止过的。

版本说明

升级前 升级后
1.20.2 1.22.0

升级步骤

参考:https://www.itheima.com/news/20210716/141451.html

1、查询当前Nginx配置选项

在升级Nginx服务之前,先看下当前的Nginx服务配置的相关模块等,我这里Nginx服务是安装在/data目录下的,因此直接进入到/data目录下去查看。

# 进入到sbin目录下
[root@localhost ~]# cd /data/sbin
# 查询配置选项及版本
[root@localhost sbin]# ./nginx -V

image-1653554030253

2、下载新的Nginx包

查询完配置后,下载最新版本的Nginx包,建议是将其放到一个统一的目录中,易于管理。我这里以/usr/local/src目录为例。

# 进入/usr/local/src目录
[root@localhost sbin]# cd /usr/local/src
# wget方式下载最新版Nginx包
[root@localhost src]# wget https://nginx.org/download/nginx-1.22.0.tar.gz

image-1653554472701

3、解压包并编译

下载好包之后,解压tar.gz包;解压后,进入到nginx目录中,以同样的编译参数去编译。注意,编译的时候不能带install。编译后,同级目录下生成objs文件夹。

# 解压tar.gz包
[root@localhost src]# tar xvf nginx-1.22.0.tar.gz
# 进入解压后的目录
[root@localhost src]# cd nginx-1.22.0
# 配置模块及参数
[root@localhost nginx-1.22.0]# ./configure --prefix=/data
# 编译
[root@localhost nginx-1.22.0]# make --prefix=/data

4、备份旧文件,拷贝新文件

将旧的nginx二进制文件备份一下,然后拷贝objs文件夹中的nginx二进制文件。

# 进入sbin目录中
[root@localhost nginx-1.22.0]# cd /data/sbin
# 备份旧版本的可执行文件
[root@localhost sbin]# mv nginx nginx.1.20.2
# 拷贝新版本生成的可执行文件
[root@localhost sbin]# cp /usr/local/src/nginx-1.22.0/objs/nginx /data/sbin

5、升级

nginx二进制文件替换后,我们执行命令升级Nginx的版本。

# 进入到软件目录中
[root@localhost sbin]# cd /usr/local/src/nginx-1.22.0
# 升级版本
[root@localhost nginx-1.22.0]# make upgrade

image-1653555549775

6、验证版本

升级成功后,验证一下。

# 进入nginx目录中
[root@localhost nginx-1.22.0]# cd /data/sbin
# 查询配置选项及版本
[root@localhost sbin]# ./nginx -V

image-1653555643894

0

评论区