背景:

根据其服务器响应标头,安装的 nginx 版本为低于 1.16.1 的 1.9.5,或是低于 1.17.3 的 1.17.x。因此,它受到多种拒绝服务漏洞的影响:

- HTTP/2 协议堆栈中存在拒绝服务漏洞,这是未正确处理异常情况所致。未经身份验证的远程攻击者可操纵大型数据请求的窗口大小和流优先级,进而利用此漏洞,造成拒绝服务情况。(CVE-2019-9511)

- HTTP/2 协议堆栈中存在拒绝服务漏洞,这是未正确处理异常情况所致。未经身份验证的远程攻击者可创建多个请求流并持续打乱流的优先级,进而利用此漏洞,造成拒绝服务情况。(CVE-2019-9513)

- HTTP/2 协议堆栈中存在拒绝服务漏洞,这是未正确处理异常情况所致。未经身份验证的远程攻击者可发送标头名称和标头值长度均为零的标头流,进而利用此漏洞,造成拒绝服务情况。(CVE-2019-9516)

现在运行的版本比较老了。且因为业务最好能不中断,所以有了今天的记录。

1 先把新版本的包下载,放到原来nginx同级目录;

  wget https://nginx.org/download/nginx-1.21.6.tar.gz

2 解压;

3 编译;注意用nginx/sbin/nginx -V 查看原来的编译参数;

4 make

5 查看进程,并向主进程(master)发送USR2 信号,Nginx 会启动一个新版本的 master 进程和对应工作进程,和旧版一起处理请求

  kill -USR2 29568
 
6 向旧的Nginx主进程(master)发送 WINCH 信号,它会逐步关闭自己的工作进程(主进程不退出),这时所有请求都会由新版 Nginx 处理
  kill -WINCH 29568 
 
7 验证nginx版本号,并访问测试

8 升级完毕,可向旧的Nginx主进程(master)发送(QUIT、TERM、或者KILL)信号,使旧的主进程退出

  kill -QUIT 29568

#history

 3020  11/03/22 18:31:54 wget https://nginx.org/download/nginx-1.21.6.tar.gz
3029 11/03/22 18:39:22 tar -zxvf nginx-1.21.6.tar.gz
3031 11/03/22 18:39:28 cd nginx-1.21.6
3054 11/03/22 18:59:40 ./configure --user=nginx --group=nginx --prefix=/app/nginx --with-http_ssl_module --with-http_stub_status_module --add-module=ngx_http_limit_req_module
3055 11/03/22 19:11:33 make 3064 11/03/22 19:53:37 objs/nginx -v
3065 11/03/22 19:54:18 cp /app/nginx/sbin/nginx{,.20220311}
3066 11/03/22 19:54:22 cp -f objs/nginx /app/nginx/sbin/nginx
3067 11/03/22 19:54:41 ps -ef |grep nginx
3068 11/03/22 19:55:16 kill -USR2 29568
3069 11/03/22 19:55:19 ps -ef |grep nginx
3070 11/03/22 19:56:47 ps -ef |grep nginx
3071 11/03/22 19:57:23 kill -WINCH 29568
3072 11/03/22 19:57:27 ps -ef |grep nginx
3073 11/03/22 19:58:14 kill -QUIT 29568
3074 11/03/22 19:58:39 curl -I 127.0.0.1
3075 11/03/22 19:58:47 /app/nginx/sbin/nginx -V

Nginx/1.13.3热升级1.21.6的更多相关文章

  1. rpm包安装的nginx热升级

    文章目录一.本地环境基本介绍二.yum升级命令说明三.升级好nginx后如何不中断业务切换3.1.nginx相关的信号说明3.2.在线热升级nginx可执行文件程序一.本地环境基本介绍本次测试环境,是 ...

  2. 老版本nginx存在安全漏洞,不停服务热升级

    1.场景描述 安全部通知:nginx存在"整数溢出漏洞",经测试2017年4月21日之后的版本无问题,将openresty升级到最新版本,Nginx升级到1.13.2之后的版本. ...

  3. nginx 安装第三方模块(lua)并热升级

    需求: nginx上将特定请求拒绝,并返回特定值. 解决办法: 使用lua脚本,实现效果. 操作步骤: 安装Luajit环境 重新编译nginx(目标机器上nginx -V 配置一致,并新增两个模块n ...

  4. Nginx热升级流程,看这篇就够了

    在之前做过 Nginx 热升级的演示,他能保证nginx在不停止服务的情况下更换他的 binary 文件,这个功能非常有用,但我们在执行 Nginx 的 binary 文件升级过程中,还是会遇到很多问 ...

  5. Nginx大厂面试需要掌握多少v1.21.3

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com Nginx官网 最新版本为1.21.3 Nginx (engine x) 是一个开源的.高性能的HTTP和反向代理web服务 ...

  6. Nginx在线服务状态下平滑升级及ab压力测试【转】

    今天,产品那边发来需求,说有个 APP 的 IOS 版本下载包需要新增 https 协议,在景安购买了免费的 SSL 证书.当我往 nginx 上新增 ssl 时,发现服务器上的 nginx 居然没编 ...

  7. nginx平滑重启与平滑升级的方法

    如何实现nginx平滑重启与平滑升级? 平滑重启 kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid` 平滑升级nginx: cd /yujialin ...

  8. 如何在Ubuntu 13.04中升级到 GNOME 3.8

    如何在Ubuntu 13.04中升级到 GNOME 3.8 添加 GNOME 3 PPA(Personal Package Archives) 在你进一步浏览之前,确认你正在运行的是Ubuntu 13 ...

  9. Nginx+keepalived做双机热备加tomcat负载均衡

    Nginx+keepalived做双机热备加tomcat负载均衡 环境说明: nginx1:192.168.2.47 nginx2:192.168.2.48 tomcat1:192.168.2.49 ...

  10. .NET插件技术-应用程序热升级

    今天说一说.NET 中的插件技术,即 应用程序热升级.在很多情况下.我们希望用户对应用程序的升级是无感知的,并且尽可能不打断用户操作的. 虽然在Web 或者 WebAPI上,由于多点的存在可以逐个停用 ...

随机推荐

  1. 一个比 Redis 性能更强的数据库

    给大家推荐一个比Redis性能更强的数据:KeyDB KeyDB是Redis的高性能分支,侧重于多线程.内存效率和高吞吐量.除了性能改进外,KeyDB还提供主动复制.闪存和子密钥过期等功能.KeyDB ...

  2. vs修改默认端口

    1.右键项目属性进去修改 2.,用txt打开sln解决方案,框框中的就是你当前的端口号

  3. 学习ASP.NET Core Blazor编程系列二十七——JWT登录(1)

    学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...

  4. LeetCode-846 一手顺子

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/hand-of-straights 题目描述 Alice 手中有一把牌,她想要重新排列这些牌,分成 ...

  5. SVN提交到服务器退回至指定版本(撤销操作)

    一.撤销已提交内容如果不小心把修改错误的文件提交到服务器上去了 可对其进行复原(指定单个文件撤销) 解决方法: 查看修改的日志 查看错误提交的文件 可以查看到这个文件改了什么 复原此版本作出的修改 然 ...

  6. npm -D与-S

    --save == -S -S, --save 安装包信息将加入到dependencies(生产阶段的依赖,也就是项目运行时的依赖,就是程序上线后仍然需要依赖) --save-dev == -D -D ...

  7. Css3中有关的 @media 媒体查询相关的知识

    1,书写格式 @media语法: @media[mediatype][and|not|only]([mediafeature]){ /*css code*/ } 常用mediatype all     ...

  8. 关于使用C++调用WCF的方法

    因为近期要对接别人的接口,使用的是wcf,因为之前没有使用过wcf,更不了解它,于是在使用的时候出现了很多问题. 下面就记录一下下 在调用方法之前,我们一般都会拿到一个地址,http://xxxxxx ...

  9. winform应用程序

    1.winform桌面应用程序是一种智能的客户端技术,我们可以使用winform应用程序帮助我们获得信息或者传输信息等 2.属性 Names:在后台要获得前台的控件对象,需要使用Name属性 Visi ...

  10. Java面向对象之static关键字详解

    static关键字详解 package OOP.Demo10; public class Person { //2:赋初值 { System.out.println("匿名代码块" ...