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.pswp.cn/bicheng/20000.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20000.shtml
英文地址,請注明出處:http://en.pswp.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;然后通過鼠標點擊的方向來發射物體的功能。 效果 步驟…