5.nginx平滑升级

nginx平滑升级

  • 一、nginx平滑升级
    • 1、下载新版本的安装包
    • 2、以之前的安装参数来编译新版本软件
    • 3、将新版本的nginx拷贝到安装目录
    • 4、启动新版本进程
    • 5、平缓关闭旧工作进程
    • 6、清理旧版本的nginx

一、nginx平滑升级

  • USR2
    启动新版本进程

  • WINCH
    平缓关闭旧工作进程

1、下载新版本的安装包

[root@localhost ~]# wget http://nginx.org/download/nginx-1.26.0.tar.gz 

2、以之前的安装参数来编译新版本软件

[root@localhost ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@localhost ~]# tar xf nginx-1.26.0.tar.gz 
[root@localhost ~]# cd nginx-1.26.0/
[root@localhost nginx-1.26.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@localhost nginx-1.26.0]# make
---------------不要make install--------------------------------[root@localhost nginx-1.26.0]# ls objs/
autoconf.err  Makefile  nginx  nginx.8  ngx_auto_config.h  ngx_auto_headers.h  ngx_modules.c  ngx_modules.o  src[root@localhost nginx-1.26.0]# objs/nginx -v
nginx version: nginx/1.26.0

3、将新版本的nginx拷贝到安装目录

[root@localhost nginx-1.26.0]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
[root@localhost nginx-1.26.0]# 
[root@localhost nginx-1.26.0]# cp objs/nginx /usr/local/nginx/sbin/
[root@localhost nginx-1.26.0]# ls /usr/local/nginx/sbin/
nginx  nginx.bak  

4、启动新版本进程

[root@localhost sbin]# kill -USR2 $(cat /usr/local/nginx/logs/nginx.pid)
[root@localhost sbin]# 
[root@localhost sbin]# ps -elf | grep nginx
1 S root       1565      1  0  80   0 - 11509 sigsus 09:17 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
5 S nobody     3636   1565  0  80   0 - 11621 ep_pol 11:46 ?        00:00:00 nginx: worker process
0 S root       6508   1565  0  80   0 - 11505 sigsus 15:22 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
5 S nobody     6509   6508  0  80   0 - 11619 ep_pol 15:22 ?        00:00:00 nginx: worker process
0 R root       6513   1516  0  80   0 - 28203 -      15:23 pts/0    00:00:00 grep --color=auto nginx
[root@localhost sbin]# [root@localhost sbin]# cat /usr/local/nginx/logs/nginx.pid
6508
[root@localhost sbin]# cat /usr/local/nginx/logs/nginx.pid.oldbin 
1565

5、平缓关闭旧工作进程

[root@localhost sbin]# kill -WINCH $(cat /usr/local/nginx/logs/nginx.pid.oldbin)
[root@localhost sbin]# 
[root@localhost sbin]# ps -elf | grep nginx
1 S root       1565      1  0  80   0 - 11509 sigsus 09:17 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
0 S root       6508   1565  0  80   0 - 11505 sigsus 15:22 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
5 S nobody     6509   6508  0  80   0 - 11619 ep_pol 15:22 ?        00:00:00 nginx: worker process
0 R root       6549   1516  0  80   0 - 28203 -      15:27 pts/0    00:00:00 grep --color=auto nginx
[root@localhost sbin]# 

6、清理旧版本的nginx

[root@localhost sbin]# kill 1565
[root@localhost sbin]# ls
nginx  nginx.bak
[root@localhost sbin]# rm -rf nginx.bak 

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

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

相关文章

分层注入的设计模式-上下层文件相互包含解决办法

现象:上下层文件相互包含 写代码时,会不会遇到,业务层内容要在底层硬件程序里写, 例如:一个外部按键,按键中断要触发一个应用层业务。 业务就要写道IO中断里,这个代码就要用到上层一些函数和变…

在长窗口时代,RAG技术是否仍然必要?

自从谷歌推出 Gemini 1.5 Pro,行业内部对于 RAG 的讨论就不绝于耳。 Gemini 1.5 Pro 的性能确实令人瞩目。根据谷歌公布的技术文档,该系统能够稳定处理长达 100 token 的内容,相当于一小时的视频、十一小时的音频、超过三万行的代码或七十万…

【VTKExamples::Utilities】第十七期 ZBuffer

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例ZBuffer,并解析接口vtkWindowToImageFilter,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ…

24 _ 分层和合成机制:为什么CSS动画比JavaScript高效?

在上一篇文章中我们分析了CSS和JavaScript是如何影响到DOM树生成的,今天我们继续沿着渲染流水线向下分析,来聊聊DOM树之后所发生的事情。 在前面《05 | 渲染流程(上):HTML、CSS和JavaScript文件,是如何变成…

linux下can-utils的使用以及can接口的配置(以ubuntu20.04为例)

linux下can-utils的使用以及can接口的配置(以ubuntu20.04为例) can-utils是什么 can-utils 是一套用于Linux操作系统的开源工具,专门用来处理与CAN(Controller Area Network)总线相关的任务。CAN总线广泛应用于汽车和…

C语言文件操作:打开关闭,读写

程序文件 源程序文件(后缀为.c) 目标文件(Windows环境后缀为.obj) 可执行文件(Windows环境后缀为.exe) fputc FILE* pf fopen("test.txt","w");if (pf NULL){printf("%s\n"…

深入理解Qt计算器应用的构建过程

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、数字按钮的信号与槽函数连接 二、运算符按钮的信号与槽函数连接 三、特殊按钮的信号与…

红外超声波雷达测距(water)

文章目录 一 RS-232二 RS485三 Modbus四 stm32多路超声波测距4.1 设计方案4.2 代码 参考资料总结 实验要求 一. 采用stm32F103和HC-SR04超声波模块, 使用标准库或HAL库 定时器中断,完成1或2路的超声波障碍物测距功能。 1)测试数据包含噪声&am…

Bezier Python 用法:深入探索与实用指南

Bezier Python 用法:深入探索与实用指南 在数字图形学和计算机编程中,贝塞尔曲线(Bezier Curves)是一种重要的参数曲线,被广泛应用于二维图形应用程序中,如字体轮廓、矢量图形和动画等。Python作为一种功能…

EukRep:区分真核和原核序列

https://github.com/patrickwest/EukRep 安装 conda create -y -n eukrep-env -c bioconda scikit-learn0.19.2 eukrep mamba install -c conda-forge numpy1.19.5 使用 EukRep -i <Sequences in Fasta format> -o <Eukaryote sequence output fasta file>

【Linux】线程ID

大致草稿—————————— 思维导图 学习目标 一、线程ID的理解 1.1 引出对tid的理解 我们先来创建一个线程复习一下线程的函数&#xff1a; pthread_t tid; // 创建一个线程 pthread_create(&tid, nullptr, threadrun, (void*)"thread-1"); // 打印出…

二分查找学习:优雅的二分查找——“Leetcode 35. 搜索插入位置”

例题 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 示例 2…

怎么花草识别?方法有三种!

怎么花草识别&#xff1f;在这个五彩斑斓的世界里&#xff0c;花草是我们生活中不可或缺的一部分。它们点缀着我们的环境&#xff0c;为我们带来无尽的美丽与惊喜。然而&#xff0c;面对众多的花草种类&#xff0c;你是否曾感到困惑和迷茫&#xff0c;不知道如何识别它们&#…

VIO System 丨适用于控制器开发前期的测试系统

VIO综述 嵌入式软件的HIL测试需要复杂的测试系统及完整的ECU硬件&#xff0c;这导致通常只能在开发流程的后期阶段进行测试。全新推出的低成本解决方案VIO System&#xff0c;使得在开发前期不仅可以进行总线通讯测试&#xff0c;也可以同时进行I/O信号测试。 该系统旨在通过…

用 Vim 打造舒适高效的编程体验

作为程序员,Vim 无疑是最常使用的编辑器之一。它之所以如此受欢迎,得益于其强大的功能和高度可定制的特性。今天,让我带大家一起探索如何通过简单的 .vimrc 配置,打造一个个性化的 Vim 编程环境。 启用语法高亮 我们首先要确保 Vim 能够正确地识别和高亮代码语法。只需在 .vi…

LabVIEW版本控制

LabVIEW作为一种流行的图形化编程环境&#xff0c;在软件开发中广泛应用。有效地管理版本控制对于确保软件的可靠性和可维护性至关重要。LabVIEW提供了多种方式来管理VI和应用程序的修订历史&#xff0c;以满足不同规模和复杂度的项目需求。 LabVIEW中的VI修订历史 LabVIEW内置…

docker安装Mysql5.7版本

首先Linux系统已经安装好了docker应用。 1.搜索镜像 docker search mysql 2.拉取5.7的镜像 总之,选starts最多的那个就对了。 docker pull mysql:5.7 ~ docker pull mysql:5.7 5.7: Pulling from library/mysql fc7181108d40: Downloading [============> …

mysql创建数据表----centos7.9

mysql创建数据表 查看存在的表 show tables;我这里还未创建任何表所以是这样的 如有是这样 若没有表需要先创建一个表 CREATE DATABASE tb_your_name&#xff1b;创建字段及属性 CREATE TABLE tb_laws_regulations (id INT AUTO_INCREMENT PRIMARY KEY, -- 文件唯…

柯桥外贸俄语哪里可以学,零基础俄语培训

Де́лать 做 из му́хи 从苍蝇 слона́ 大象 我觉得汉语里有一个很合适的词来形容&#xff1a; Де́лать из му́хи слона́ 就是 小题大做&#xff0c;本来是一件很小的事&#xff0c;却把它形容成天大的事一样 Хвтит де́…

【UE5.1 角色练习】10-物体抬升、抛出技能 - part2

目录 前言 效果 步骤 一、让物体缓慢的飞向手掌 二、向着鼠标方向发射物体 前言 在上一篇&#xff08;【UE5.1 角色练习】08-物体抬升、抛出技能 - part1&#xff09;的基础上继续完成角色将物体吸向手掌&#xff0c;然后通过鼠标点击的方向来发射物体的功能。 效果 步骤…