最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx進(jìn)行平滑升級的實戰(zhàn)指南(不中斷服務(wù)版本更新)

 更新時間:2025年08月03日 14:08:24   作者:ζ??山 ??有扶蘇 ???  
Nginx的平滑升級(也稱為熱升級)是一種在不停止服務(wù)的情況下更新Nginx版本或添加模塊的方法,這種升級方式確保了服務(wù)的高可用性,避免了因升級導(dǎo)致的請求中斷問題,以下是實現(xiàn)Nginx平滑升級的具體步驟,需要的朋友可以參考下

Nginx無縫升級版本,支持及時回滾。
升級目的:解決Nginx漏洞
平滑升級的核心是 不中斷服務(wù) 的前提下,用新版本的 Nginx 替換舊版本。新編譯的 objs/nginx 是新版本的二進(jìn)制文件,需要覆蓋舊的二進(jìn)制文件,以便 Master 進(jìn)程啟動新的 Worker 進(jìn)程時使用新版本。

一.下載并編譯新版Nginx

1.下載解壓

nginx下載找到并下載Nginx最穩(wěn)定版本,通過SSH上傳至服務(wù)器

也可復(fù)制鏈接在服務(wù)器通過wget下載。

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

下載安裝至指定目錄后解壓。

cd /home/ngtl/
tar -zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0/

2.編譯

編譯之前需要確定之前版本的Nginx的編譯目錄,和模塊兼容性。找到正在運行的Nginx可執(zhí)行文件并執(zhí)行命令。

/usr/local/nginx/sbin/nginx -V

可以看到從--prefix之后都是執(zhí)行./configure的參數(shù),在新Nginx編譯的時候,參數(shù)必須和要升級的Nginx一樣.

關(guān)鍵步驟

  1. 完整復(fù)制 configure arguments: 后的參數(shù)
  2. 必須保證新版本配置參數(shù)與舊版完全一致
  3. 特別注意第三方模塊路徑(如 OpenSSL)

然后在剛才解壓的Nginx目錄下執(zhí)行以下命令然后等待:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_module --with-stream --with-http_ssl_module --with-openssl=/home/ngtl/openssl-1.1.1l

./configure成功后如下圖:

然后繼續(xù)執(zhí)行make命令,注意這里不要執(zhí)行make insyall,不然會覆蓋原來的配置文件,包括config下面的。

make

執(zhí)行成功以后,會在解壓目錄下生成objs目錄,目錄下會生成需要替換的nginx可執(zhí)行文件。

注意事項

  • 編譯產(chǎn)物路徑:nginx/objs/nginx
  • 禁止執(zhí)行 make install 防止覆蓋現(xiàn)有配置
  • 出現(xiàn) ./configure: error 需檢查缺失的依賴庫

二.替換可執(zhí)行文件,并平滑升級

1.替換可執(zhí)行文件

備份舊版本方便報錯后回滾

# 備份舊的 Nginx 可執(zhí)行文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

# 備份配置文件(可選)
cp -r /usr/local/nginx/conf /usr/local/nginx/conf.bak

替換舊的二進(jìn)制文件

將新編譯的 objs/nginx 復(fù)制到舊版本的安裝目錄中:

cp objs/nginx /usr/local/nginx/sbin/

注意如果此處提示報錯:cp: cannot create regular file ‘/usr/local/nginx/sbin/nginx’: Text file busy。這表明目標(biāo)文件(nginx 可執(zhí)行文件)正在被其他進(jìn)程占用。
解決方法:需要先通過 Nginx 平滑升級流程 處理舊進(jìn)程,確保替換二進(jìn)制文件時不會沖突。

2.進(jìn)行平滑升級處理

發(fā)送信號啟動新版本進(jìn)程

# 獲取舊 Nginx 主進(jìn)程的 PID
cat /usr/local/nginx/logs/nginx.pid

# 發(fā)送 USR2 信號,啟動新版本的 Master 進(jìn)程
kill -USR2 <上一步的ID>

此時,Nginx 會啟動新的 Master 進(jìn)程,并加載新版本的配置文件(如果上一步為報錯則已經(jīng)替換成功)。舊的 Master 進(jìn)程仍然在運行,但新的 Master 進(jìn)程已經(jīng)啟動。

替換二進(jìn)制文件使用 mv 命令替換或者cp -f強(qiáng)制覆蓋

# 使用 mv 替換(避免 "Text file busy" 錯誤)
mv objs/nginx /usr/local/nginx-1.20.1/sbin/
# 強(qiáng)制覆蓋(仍需確保文件未被占用)
cp -f objs/nginx /usr/local/nginx-1.20.1/sbin/

優(yōu)雅關(guān)閉舊版本進(jìn)程

# 發(fā)送 WINCH 信號,逐步關(guān)閉舊版本的 Worker 進(jìn)程
kill -WINCH <上一步的ID>

# 檢查進(jìn)程狀態(tài)(確認(rèn)舊 Worker 進(jìn)程已退出)
ps -ef | grep nginx

此時舊的會話已經(jīng)被新Nignx進(jìn)程替代,在檢查新Nginx不影響業(yè)務(wù)之后,就可以完全停止舊進(jìn)程了

完全關(guān)閉舊版本 Master 進(jìn)程

# 發(fā)送 QUIT 信號,關(guān)閉舊版本 Master 進(jìn)程
kill -QUIT <上一步的ID>

信號作用詳解

信號作用執(zhí)行時機(jī)
USR2啟動新版本Master進(jìn)程升級第一步
WINCH逐步關(guān)閉舊版本W(wǎng)orker進(jìn)程新進(jìn)程正常運行后
QUIT優(yōu)雅退出舊Master進(jìn)程業(yè)務(wù)驗證通過后

檢查新版本是否運行

驗證版本信息

/usr/local/nginx/sbin/nginx -v

回滾方案(如升級失?。?/h2>

如果新版本出現(xiàn)問題,可以通過以下步驟回滾到舊版本:

恢復(fù)備份文件

cp /usr/local/nginx/sbin/nginx.bak /usr/local/nginx/sbin/nginx

重啟舊版本進(jìn)程

# 向新 Master 進(jìn)程發(fā)送 QUIT 信號(關(guān)閉新版本)
kill -QUIT $(cat /usr/local/nginx/logs/nginx.pid)

# 啟動舊版本 Nginx
/usr/local/nginx/sbin/nginx

注意事項

  1. 確保編譯參數(shù)一致
    新版本的 Nginx 必須使用與舊版本相同的編譯參數(shù)(如模塊配置),否則可能導(dǎo)致功能異常。
  2. 避免直接覆蓋運行中的文件
    直接使用 cp 覆蓋正在運行的 Nginx 二進(jìn)制文件會導(dǎo)致 Text file busy 錯誤,必須通過平滑升級流程處理。
  3. 監(jiān)控日志
    升級后檢查 Nginx 日志(/usr/local/nginx/logs/),確保無報錯。

以上就是Nginx不中斷服務(wù)實現(xiàn)版本更新的實戰(zhàn)指南的詳細(xì)內(nèi)容,更多關(guān)于Nginx不中斷服務(wù)版本更新的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機(jī)解決辦法詳解

    Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機(jī)解決辦法詳解

    這篇文章主要介紹了Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機(jī)解決辦法詳解,反向代理保證系統(tǒng)安全,不暴露服務(wù)器IP,利用nginx服務(wù)器,利用內(nèi)網(wǎng)ip進(jìn)行訪問,避免出現(xiàn)攻擊服務(wù)器的情況,需要的朋友可以參考下
    2024-01-01
  • nginx如何根據(jù)用戶真實IP限源

    nginx如何根據(jù)用戶真實IP限源

    文章介紹了Nginx限制IP訪問的方式,包括通過remote_addr、X-Real-IP和X-Forwarded-For頭文件獲取用戶真實IP的方法,并詳細(xì)說明了如何配置Nginx以實現(xiàn)基于白名單的訪問控制
    2025-11-11
  • Nginx HTTP反向代理負(fù)載均衡實驗教程

    Nginx HTTP反向代理負(fù)載均衡實驗教程

    文章描述了在192.168.65.135上部署Nginx作為七層HTTP反向代理,將www.xiaotiantian.org的流量輪詢轉(zhuǎn)發(fā)到兩臺后端Web服務(wù)器,并驗證了反向代理的負(fù)載均衡和故障轉(zhuǎn)移功能
    2025-12-12
  • nginx限流及配置管理實戰(zhàn)記錄

    nginx限流及配置管理實戰(zhàn)記錄

    流量限制(rate-limiting)是Nginx中一個非常實用,卻經(jīng)常被錯誤理解和錯誤配置的功能,下面這篇文章主要給大家介紹了關(guān)于nginx限流及配置管理的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • nginx try_files指令的實現(xiàn)示例

    nginx try_files指令的實現(xiàn)示例

    try_files用于指定文件的查找規(guī)則,可以配置多個規(guī)則,會按順序執(zhí)行查找規(guī)則,本文主要介紹了nginx try_files指令的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Nginx配置圖片服務(wù)器(極簡配置)

    Nginx配置圖片服務(wù)器(極簡配置)

    本文主要介紹了主要是Nginx做靜態(tài)圖片服務(wù)器的詳情配置說明,還包括做反向代理、動靜分離、負(fù)載均衡的極簡配置,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • nginx location匹配實例詳解

    nginx location匹配實例詳解

    這篇文章主要介紹了nginx location匹配實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • linux服務(wù)器部署tomcat和Nginx的教程

    linux服務(wù)器部署tomcat和Nginx的教程

    這篇文章主要為大家詳細(xì)介紹了linux服務(wù)器部署tomcat和Nginx的教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • centos8安裝nginx1.9.1的詳細(xì)過程

    centos8安裝nginx1.9.1的詳細(xì)過程

    這篇文章主要介紹了centos8安裝nginx1.9.1的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Nginx直接返回Json的實例

    Nginx直接返回Json的實例

    下面小編就為大家分享一篇Nginx直接返回Json的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論

绍兴县| 新疆| 铁岭县| 香港 | 喀喇沁旗| 行唐县| 平乐县| 郴州市| 广安市| 宁阳县| 满洲里市| 大余县| 东兰县| 苏尼特右旗| 仙桃市| 刚察县| 大港区| 九江市| 景德镇市| 木兰县| 富蕴县| 马尔康县| 石渠县| 子长县| 孝感市| 图们市| 鄱阳县| 清镇市| 武清区| 五大连池市| 漳浦县| 临夏县| 桃园市| 田阳县| 德惠市| 东明县| 渝北区| 浮山县| 亳州市| 仙桃市| 宁德市|