由于负载均衡测试服务器中nginx版本过低,存在安全漏洞,查询相关修复漏洞资料,需要采取nginx版本升级形式对漏洞进行修复。 Nginx平滑升级方案 1、案例采用版本介绍 旧版本 nginx-1.12.2.tar.gz 新版本 nginx-1.20.1.tar.gz 2、nginx-1.12.2版本为当前运行
由于负载均衡测试服务器中nginx版本过低,存在安全漏洞,查询相关修复漏洞资料,需要采取nginx版本升级形式对漏洞进行修复。 1、案例采用版本介绍 旧版本 nginx-1.12.2.tar.gz 新版本 nginx-1.20.1.tar.gz 2、nginx-1.12.2版本为当前运行版本
设置端口8080和对主页index.html进行修改,后续进行平滑升级后,依然可以对其访问。
3、解压新版本 nginx-1.20.1.tar.gz编译安装至旧版本nginx-1.12.2目录下,运行原有nginx.conf配置文件,执行如下
4、完成后1.20.1版本会自动在原sbin目录下生产新的nginx二进制文件,旧的nginx会自动被替换成nginx.old
5、平滑升级 Nginx对进程的控制能力非常强大,可以通过信号指令控制进程。常用的信号有:
根据nginx进程控制信号,执行如下:
切换为新的master进程,关闭旧的work进程,注意此时旧的master进程依然存在,执行如下:
检查此时版本
已平滑升级成功。 注意:此时新版本nginx的masterPID为41063,同时也存在旧版本的master进程(旧进程PID为38323),若无需再回退时操作,可执行旧进程退出操作,执行如下:
回退步骤 关于回退操作分为两类: 1、事前对旧版本nginx进行备份,若出现问题,直接将旧版本重新拷贝会/usr/local目录下,重启nginx旧版本操作,执行如下:
2、在新版本nginx的master进程和旧版本的master进程同时存在时,执行如下: 切换回旧版本的master进程
关闭新版本nginx的master进程,并将原sbin目录下的nginx.old(旧版本nginx二进制文件)重新改回nginx,以便管理nginx。
再次确认此时nginx版本已退回原版本
|
2022-08-10
2022-08-26
2022-08-26
2022-03-01
2021-07-11