Nginx/1.13.3热升级1.21.6
背景:
根据其服务器响应标头,安装的 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 进程和对应工作进程,和旧版一起处理请求

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的更多相关文章
- rpm包安装的nginx热升级
文章目录一.本地环境基本介绍二.yum升级命令说明三.升级好nginx后如何不中断业务切换3.1.nginx相关的信号说明3.2.在线热升级nginx可执行文件程序一.本地环境基本介绍本次测试环境,是 ...
- 老版本nginx存在安全漏洞,不停服务热升级
1.场景描述 安全部通知:nginx存在"整数溢出漏洞",经测试2017年4月21日之后的版本无问题,将openresty升级到最新版本,Nginx升级到1.13.2之后的版本. ...
- nginx 安装第三方模块(lua)并热升级
需求: nginx上将特定请求拒绝,并返回特定值. 解决办法: 使用lua脚本,实现效果. 操作步骤: 安装Luajit环境 重新编译nginx(目标机器上nginx -V 配置一致,并新增两个模块n ...
- Nginx热升级流程,看这篇就够了
在之前做过 Nginx 热升级的演示,他能保证nginx在不停止服务的情况下更换他的 binary 文件,这个功能非常有用,但我们在执行 Nginx 的 binary 文件升级过程中,还是会遇到很多问 ...
- Nginx大厂面试需要掌握多少v1.21.3
概述 **本人博客网站 **IT小神 www.itxiaoshen.com Nginx官网 最新版本为1.21.3 Nginx (engine x) 是一个开源的.高性能的HTTP和反向代理web服务 ...
- Nginx在线服务状态下平滑升级及ab压力测试【转】
今天,产品那边发来需求,说有个 APP 的 IOS 版本下载包需要新增 https 协议,在景安购买了免费的 SSL 证书.当我往 nginx 上新增 ssl 时,发现服务器上的 nginx 居然没编 ...
- nginx平滑重启与平滑升级的方法
如何实现nginx平滑重启与平滑升级? 平滑重启 kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid` 平滑升级nginx: cd /yujialin ...
- 如何在Ubuntu 13.04中升级到 GNOME 3.8
如何在Ubuntu 13.04中升级到 GNOME 3.8 添加 GNOME 3 PPA(Personal Package Archives) 在你进一步浏览之前,确认你正在运行的是Ubuntu 13 ...
- Nginx+keepalived做双机热备加tomcat负载均衡
Nginx+keepalived做双机热备加tomcat负载均衡 环境说明: nginx1:192.168.2.47 nginx2:192.168.2.48 tomcat1:192.168.2.49 ...
- .NET插件技术-应用程序热升级
今天说一说.NET 中的插件技术,即 应用程序热升级.在很多情况下.我们希望用户对应用程序的升级是无感知的,并且尽可能不打断用户操作的. 虽然在Web 或者 WebAPI上,由于多点的存在可以逐个停用 ...
随机推荐
- JAVA虚拟机21---JAVA内存模型
1.Amdahl定律和摩尔定律 并发处理的广泛应用是Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器. Amdahl定律通过系统中并行化与串行化的 ...
- 定位bug
软件测试阶段:单元测试,集成测试,系统测试,验收测试 测试人员参与的软件测试阶段一般来说只有集成测试和系统测试阶段.集成测试阶段主要测试的是接口:系统测试阶段主要是功能测试,兼容性测试等,涉及到定位b ...
- Python装饰器实例讲解(三)
Python装饰器实例讲解(三) 本文多参考<流畅的python>,在此基础上增加了一些实例便于理解 姊妹篇 Python装饰器实例讲解(一),让你简单的会用 Python装饰器实例讲解( ...
- day13-自定义拦截器
自定义拦截器 1.什么是拦截器 说明: 拦截器与过滤器的区别 SpringMVC 的拦截器(Interceptor)与 Java Servlet 的过滤器(Filter)类似,它主要用于拦截用户的请求 ...
- setInterval()的使用
setInterval() 作用 这个函数可以将一个函数每隔一段时间执行一次 参数 1.回调函数,该函数会每隔一段时间被调用一次 2.每次调用间隔的时间,单位是毫秒 返回值 返回一个Numbe ...
- 利用canvas+js完成滑块验证码中canvas部分思路
1. 最终效果 2.滑块验证码思路 大概思路:设置两个画布,一个为显示图像的canvas画布,一个为拼图的block画布,block画布拼图内容从图像画布中的一部分裁剪得到(使用clip()),通过绑 ...
- 【KAWAKO】iphone13pro开箱流程
目录 全程录像 检查包装盒 检查包装盒内物品 检查各种码 拆封 激活 激活之后 检查屏幕 检查其它功能 贴膜(选) References 全程录像 如果你觉得你所购买的平台 (比如某ABB格式名字的平 ...
- JavaScript 如何验证 URL
前言 当开发者需要为不同目的以不同形式处理URL时,比如说浏览器历史导航,锚点目标,查询参数等等,我们经常会借助于JavaScript.然而,它的频繁使用促使攻击者利用其漏洞.这种被利用的风险是我们必 ...
- liunx Ubuntu20.04怎么安装mysql
转载csdn:优秀的处女座 https://blog.csdn.net/qq_42481794/article/details/113923803
- 计算属性报错:Maximum recursive updates exceeded.
计算属性或普通函数中有对相关依赖的响应式数据进行一次以上的更新就可能导致达到最大执行的限制: const calcSurplus = computed(() => (k: string) =&g ...