濮阳杆衣贸易有限公司

主頁 > 知識庫 > 圖文詳解Nginx版本平滑升級方案

圖文詳解Nginx版本平滑升級方案

熱門標(biāo)簽:烏海智能電話機器人 貴陽教育行業(yè)電話外呼系統(tǒng) 威海人工外呼系統(tǒng)供應(yīng)商 400電話申請方案 撫順移動400電話申請 寧夏房產(chǎn)智能外呼系統(tǒng)要多少錢 做外呼系統(tǒng)的公司違法嗎 藍點外呼系統(tǒng) 在百度地圖標(biāo)注車輛

背景:

由于負載均衡測試服務(wù)器中nginx版本過低,存在安全漏洞,查詢相關(guān)修復(fù)漏洞資料,需要采取nginx版本升級形式對漏洞進行修復(fù)。

Nginx平滑升級方案

1、案例采用版本介紹

舊版本 nginx-1.12.2.tar.gz

新版本 nginx-1.20.1.tar.gz

2、nginx-1.12.2版本為當(dāng)前運行版本


設(shè)置端口8080和對主頁index.html進行修改,后續(xù)進行平滑升級后,依然可以對其訪問。

3、解壓新版本 nginx-1.20.1.tar.gz編譯安裝至舊版本nginx-1.12.2目錄下,運行原有nginx.conf配置文件,執(zhí)行如下

./configure --prefix=/usr/local/nginx-1.12.2  --conf-path=/usr/local/nginx-1.12.2/nginx.conf --pid-path=/usr/local/nginx-1.12.2/nginx.pid --user=ngadm --group=ngadm --with-http_stub_status_module --without-http_rewrite_module 

make && make install

4、完成后1.20.1版本會自動在原sbin目錄下生產(chǎn)新的nginx二進制文件,舊的nginx會自動被替換成nginx.old

5、平滑升級

Nginx對進程的控制能力非常強大,可以通過信號指令控制進程。常用的信號有:

  • -QUIT,表處理完當(dāng)前請求后,關(guān)閉進程。
  • -HUP,表示重新加載配置,也就是關(guān)閉原有的進程,并開啟新的工作進程。此操作不會中斷用戶的訪問請求,因此可以通過此信號平滑的重啟Nginx。
  • -USR2,用于平滑升級可執(zhí)行程序。
  • -WINCH,從容關(guān)閉工作進程。

根據(jù)nginx進程控制信號,執(zhí)行如下:

kill -USR2 38323(舊進程PID為38323)
ps -ef |grep nginx 

切換為新的master進程,關(guān)閉舊的work進程,注意此時舊的master進程依然存在,執(zhí)行如下:

kill –WINCH 38323 (舊進程PID為38323)
ps -ef |grep nginx

檢查此時版本

sbin/nginx -v

已平滑升級成功。

注意:此時新版本nginx的masterPID為41063,同時也存在舊版本的master進程(舊進程PID為38323),若無需再回退時操作,可執(zhí)行舊進程退出操作,執(zhí)行如下:

kill –QUIT 38323 

回退步驟

關(guān)于回退操作分為兩類:

1、事前對舊版本nginx進行備份,若出現(xiàn)問題,直接將舊版本重新拷貝會/usr/local目錄下,重啟nginx舊版本操作,執(zhí)行如下:

killall nginx
cp nginx-1.12.2.bak nginx-1.12.2
/usr/local/nginx-1.12.2/sbin/nginx –c /usr/local/nginx-1.12.2/nginx.conf

檢查nginx狀態(tài)
ps –ef |grep nginx

2、在新版本nginx的master進程和舊版本的master進程同時存在時,執(zhí)行如下:

切換回舊版本的master進程

kill -HUP 舊masterPID

關(guān)閉新版本nginx的master進程,并將原sbin目錄下的nginx.old(舊版本nginx二進制文件)重新改回nginx,以便管理nginx。

kill -WINCH 新masterPID
kill -QUIT 新masterPID
cp /usr/local/nginx-1.12.2/sbin/nginx.old /usr/local/nginx-1.12.2/sbin/nginx

再次確認此時nginx版本已退回原版本

sbin/nginx -v

總結(jié)

到此這篇關(guān)于Nginx版本平滑升級方案的文章就介紹到這了,更多相關(guān)Nginx版本平滑升級內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:那曲 泰州 松原 銅川 朝陽 蕪湖 慶陽 周口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《圖文詳解Nginx版本平滑升級方案》,本文關(guān)鍵詞  圖文,詳解,Nginx,版本,平滑,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《圖文詳解Nginx版本平滑升級方案》相關(guān)的同類信息!
  • 本頁收集關(guān)于圖文詳解Nginx版本平滑升級方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    灵丘县| 禹州市| 西充县| 高阳县| 石屏县| 三河市| 南丰县| 宽城| 庐江县| 开江县| 三亚市| 高平市| 安宁市| 徐州市| 尉氏县| 拉萨市| 佳木斯市| 松滋市| 达孜县| 宁明县| 宜城市| 宁波市| 昔阳县| 岳西县| 乐东| 都江堰市| 邵阳市| 嵊州市| 浠水县| 汾阳市| 金平| 双流县| 荥经县| 成都市| 延长县| 盘山县| 阿合奇县| 焦作市| 南乐县| 通海县| 平阳县|