Nginx实现平滑升级

news2025/1/12 8:55:29

平滑升级

本篇目标:将现有的 nginx 1.22.0 版本升级为 1.24.0

//查看现有版本
[root@12 ~]# nginx -v
nginx version: nginx/1.22.0

1、首先在官网下载软件包,地址:nginx: download

 2、把要 1.24.0 拖进 /opt 目录后,解压,编译安装

[root@12 ~]# cd /opt
//解压
[root@12 opt]# tar -zxvf nginx-1.24.0.tar.gz
[root@12 opt]# cd nginx-1.24.0/

#注意:安装的位置和上一个版本一致,老版本也在 /usr/local/nginx 目录下
[root@12 nginx-1.24.0]# ./configure --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module \
> --with-http_v2_module \
> --with-http_realip_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --with-pcre \
> --with-stream \
> --with-stream_ssl_module \
> --with-stream_realip_module

#编译结束后 make 即可,不要用 make install !
[root@12 nginx-1.24.0]# make

3、 在老版本目录下,把原来的执行文件改名字

[root@12 nginx-1.24.0]# cd /usr/local/nginx/sbin/
[root@12 sbin]# mv nginx nginx.bak

4、 将新版本拷入进去

[root@12 sbin]# cp /opt/nginx-1.24.0/objs/nginx /usr/local/nginx/sbin/

 5、在老版本下,传递信号,平滑升级,实现热重载

[root@12 sbin]# kill -USR2 `cat /usr/local/nginx/run/nginx.pid`

//查看nginx进程
[root@12 sbin]# ps auxf|grep nginx
root      24087  0.0  0.0 112708   972 pts/0    S+   20:15   0:00  |       \_ grep --color=auto nginx
root      24071  0.0  0.0  46240  1340 ?        Ss   20:13   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx     24072  0.0  0.0  48776  2008 ?        S    20:13   0:00  \_ nginx: worker process
root      24076  0.0  0.0  46240  3360 ?        S    20:14   0:00  \_ nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx     24077  0.0  0.0  48780  2008 ?        S    20:14   0:00      \_ nginx: worker process

6、 优雅退出老的进程

[root@12 sbin]# kill -WINCH `cat /usr/local/nginx/run/nginx.pid.oldbin`

//查看进程
[root@12 sbin]# ps auxf|grep nginx
root      24106  0.0  0.0 112708   972 pts/0    S+   20:17   0:00  |       \_ grep --color=auto nginx
root      24071  0.0  0.0  46240  1340 ?        Ss   20:13   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
root      24076  0.0  0.0  46240  3360 ?        S    20:14   0:00  \_ nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx     24077  0.0  0.0  48780  2008 ?        S    20:14   0:00      \_ nginx: worker process

//查看版本
[root@12 sbin]# nginx -v
nginx version: nginx/1.24.0

至此,升级完成 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1471301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖店是怎么运营做起来的?一文详解抖店的运营逻辑和流程,可收藏

我是王路飞。 很多人都知道现在的抖音有【商城】,进入之后就是一个个的抖音小店了,也知道抖店的红利。 但是抖店具体是怎么运营并且做起来的,就不太清楚了,因此很多新手明明眼馋抖店的红利,却又无从下手。 今天这篇…

YOLOv9尝鲜测试五分钟极简配置

pip安装python包: pip install yolov9pip在https://github.com/WongKinYiu/yolov9/tree/main中下载好权重文件yolov9-c.pt。 运行下面代码: import yolov9model yolov9.load("yolov9-c.pt", device"cpu") # load pretrained or c…

Spring综合漏洞利用工具

Spring综合漏洞利用工具 工具目前支持Spring Cloud Gateway RCE(CVE-2022-22947)、Spring Cloud Function SpEL RCE (CVE-2022-22963)、Spring Framework RCE (CVE-2022-22965) 的检测以及利用,目前仅为第一个版本,后续会添加更多漏洞POC,以及…

【Flink精讲】Flink性能调优:CPU核数与并行度

常见问题 举个例子 提交任务命令: bin/flink run \ -t yarn-per-job \ -d \ -p 5 \ 指定并行度 -Dyarn.application.queuetest \ 指定 yarn 队列 -Djobmanager.memory.process.size2048mb \ JM2~4G 足够 -Dtaskmanager.memory.process.size4096mb \ 单个 TM2~8G 足…

【机器人学导论笔记】三、操作臂正运动学

3.1 概述 操作臂正运动学研究操作臂的运动特性,主要涉及与运动有关的几何参数和时间参数。本章中,只研究静止状态下操作臂连杆的位置和姿态。 处理这些复杂的几何参数需要一些步骤:首先需要在操作臂的每个连杆上分别固接一个连杆坐标系&…

基于ELFBoard开发板的车牌识别系统

本项目采用的是ElfBoard ELF1开发板作为项目的核心板,主要实现的功能为通过USB 摄像头对车牌进行识别,如果识别成功则会亮绿灯,并将识别的车牌号上传到手机APP上面,车牌识别的实现是通过百度OCR进行实现,手机APP是用Ja…

《低功耗方法学》翻译——第十四章:电源切换网络设计

第十四章:电源切换网络设计 功率门控是在待机或休眠模式下降低漏电功率最有效的方法,但这种方法存在诸如休眠晶体管占用的硅面积、永久和虚拟电源网络的布线资源以及复杂的功率门控设计和实现过程等开销,影响设计风险和进度。 除了开销外&a…

2024年Facebook自动回复优化指南:提升客户满意度的策略(内含自动回复中英文模板)

在这个数字化的时代,快速响应已经成为企业在与客户沟通的必备要素。但是当经常面对大量的相同信息时,如何可以提高效率呢?目前很多社交媒体平台都内设了自动回复功能,像是Facebook。这个功能确保无论何时有人联系你,都…

大气颗粒物与VOCs PMF源解析

原文:大气颗粒物与VOCs PMF源 第一:PMF源解析技术及其输入文件准备 1、大气污染源解析方法有哪些? 2、这些方法各自应用的条件以及它们的优缺点? 3、大气颗粒物的基础知识及各组分的主要来源 大气颗粒物的来源:…

Oracle EBS GL 外币折算逻辑

背景 由于公司财务在10月份期间某汇率维护错误,导致帐套折算以后并合传送至合并帐套生成合并日记帐凭证的借贷金额特别大,但是财务核对的科目余额有没有问题,始终觉得合并日记帐生成会计分发有问题,需要我们给出外币折算逻辑。 基础设置 汇率 Path: GL->设置->币种-&…

Java核心-核心类与API(3)

话接上回,继续核心类与API的学习,这次介绍一下枚举类以及与系统、交互有关的类,需要了解并能使用即可。 一、枚举类 1、概述 枚举也称穷举,简单理解就是把所有可能一一列举出来(穷尽所有可能)。枚举是一…

matlab新能源汽车三自由度操纵稳定性分析及优化

1、内容简介 略 可以交流、咨询、答疑 55-新能源汽车三自由度操纵稳定性分析及优化 2、内容说明 略 摘 要 电动化是节能减排、寻求替代能源的最佳途径,已成为行业共识,论文基于江西科技学院桑塔纳轿车油改气项目,在拆除发动机、变速…

JAVA工程师面试专题-《Redis》篇

目录 一、基础 1、Redis 是什么 2、说一下你对redis的理解 3、Redis 为什么这么快? 4、项目中如何使用缓存? 5、为什么使用缓存? 6、Redis key 和value 可以存储最大值分别多是多少? 7、Redis和memcache有什么区别&#xf…

普中51单片机学习(8*8LED点阵)

8*8LED点阵 实验代码 #include "reg52.h" #include "intrins.h"typedef unsigned int u16; typedef unsigned char u8; u8 lednum0x80;sbit SHCPP3^6; sbit SERP3^4; sbit STCPP3^5;void HC595SENDBYTE(u8 dat) {u8 a;SHCP1;STCP1;for(a0;a<8;a){SERd…

golang学习7,glang的web的restful接口结构体传参

接口&#xff1a; //POST请求 返回json 接口传参json r.POST("/postJson", controller.PostUserInfo) 1.定义结构体 //定义结构体 type Search struct {Id intName string }2.结构体传参 //结构体传参 func PostUserInfo(c *gin.Context) {search : &Searc…

GO语言基础总结

多态&#xff1a; 定义一个父类的指针&#xff08;接口&#xff09;&#xff0c;然后把指针指向子类的实例&#xff0c;再调用这个父类的指针&#xff0c;然后子类的方法被调用了&#xff0c;这就是多态现象。 Golang 高阶 goroutine 。。。。。 channel channel的定义 …

FPS游戏漫谈优化包体传输

在游戏服务器的部署环境中&#xff0c;机房的网络带宽都是有限制的。如果通信传输的数据总量太大&#xff0c;会挤占带宽甚至达到带宽上限&#xff0c;影响正常消息发送。另外&#xff0c;如果包体太大&#xff0c;在弱网环境下的通信质量会变差&#xff0c;更容易发生丢包重传…

VB6添加资源文件总是内存溢出?最终我还是治好了这胎里病!

网管小贾 / sysadm.cc 说来也奇怪&#xff0c;话说不久前我刚刚解决了 VB6 释放资源文件的一个 BUG &#xff0c;心里正美滋滋的。 不料居然还有个巨大的 BUG 在后边等着我呢&#xff01; 真是不说不知道&#xff0c;一说吓一跳&#xff0c;十天找 BUG &#xff0c;N把辛酸泪…

【国产MCU】-CH32V307-定时器同步模式

定时器同步模式 文章目录 定时器同步模式1、定时器同步模式介绍2、驱动API介绍3、定时器同步模式实例1、定时器同步模式介绍 CH32V307的定时器能够输出时钟脉冲(TRGO),也能接收其他定时器的输入(ITRx)。不同的定时器的ITRx的来源(别的定时器的TRGO)是不一样的。 通用定…

Python高性能web框架--Fastapi快速入门

文章目录 fastapi框架一、预备知识点1.1、http协议一、简介二、 http协议特性三、http请求协议与响应协议 1.2、api接口 二、quick start简单案例 fastapi框架 Fastapi&#xff0c;一个用于构建 API 的现代、快速&#xff08;高性能&#xff09;的web框架。 fastapi的两个核心…