Nginx1.15.8平滑升级1.19.6

本文详细介绍了Nginx的平滑升级过程,包括平滑升级的原理和实战步骤。在多进程模式下,Nginx通过主进程和工作进程的协作,支持平滑升级,如使用USR2信号启动新版本并逐步替换旧进程,确保线上服务不中断。文中还给出了从1.15.8到1.19.6的具体升级操作,包括环境准备、发送USR2信号和停止旧服务等关键步骤。
摘要由CSDN通过智能技术生成

一、解释nginx的平滑升级

随着nginx越来越流行使用,并且nginx的优势也越来越明显,nginx的版本迭代也开始了加速模式,1.9.6版本的nginx更新了许多新功能,例如stream四层代理功能。伴随着nginx的广泛应用,版本升级必然是越来越快的,线上业务不能停,此时nginx的升级就是运维的重要工作了,下面就带大家一起来理解下nginx平滑升级。

二、nginx平滑升级原理

多进程模式下的请求分配方式
Nginx默认工作在多进程模式下,即主进程(master process)启动后完成配置加载和端口绑定等动作,fork出指定数量的工作进程(worker process),这些子进程会持有监听端口的文件描述符(fd),并通过在该描述符上添加监听事件来接受连接(accept)。

信号的接收和处理
Nginx主进程在启动完成后会进入等待状态,负责响应各类系统消息,如SIGCHLD、SIGHUP、SIGUSR2等。

Nginx信号简介
主进程支持的信号
TERM, INT: 立刻退出
QUIT: 等待工作进程结束后再退出
KILL: 强制终止进程
HUP: 重新加载配置文件,使用新的配置启动工作进程,并逐步关闭旧进程。
USR1: 重新打开日志文件
USR2: 启动新的主进程,实现热升级
WINCH: 逐步关闭工作进程
工作进程支持的信号
TERM, INT: 立刻退出
QUIT: 等待请求处理结束后再退出
USR1: 重新打开日志文件

三、nginx平滑升级实战

3.1环境准备
·查看当前版本及编译参数

[root@izwz96u1ukkfo2ki7ywqbiz local]# nginx -V
nginx version: nginx/1.15.8
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/software/nginx-1.15.8 --with-http_ssl_module --with-http_stub_status_module

·上传新版本nginx-1.19.6
·解压、编译新版本Nginx源码,安装路径必须与旧版本一致,且不能执行make install
·配置源码,务必保持与老版本参数一致

[root@static01 nginx-1.19.6]# ./configure --prefix=/opt/software/nginx-1.15.8 --with-http_ssl_module --with-http_stub_status_module
checking for OS
 + Linux 3.10.0-862.el7.x86_64 x86_64
checking for C compiler ... found
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值