nginx 版本升級(jí)的實(shí)現(xiàn)方法
Nginx 的版本最開始使用的是 Nginx-1.18.0 , 由于服務(wù)升級(jí),需要將 Nginx 的版本升級(jí)到 Nginx-1.19.7 ,要求 Nginx 不能中斷提供服務(wù)。
為了應(yīng)對(duì)上述的需求,提供兩種解決方案:
- 方案1:
make upgrade完成升級(jí) - 方案2: 服務(wù)信號(hào) 完成升級(jí)
nginx 版本升級(jí)
環(huán)境說明
當(dāng)前是 CentOS7 服務(wù)器。
點(diǎn)擊進(jìn)入 nginx 下載頁(yè)面
環(huán)境準(zhǔn)備
1)已安裝的 Nginx 版本信息
nginx -V 或者 /usr/local/nginx/sbin/nginx -V
可以看出當(dāng)前版本為 1.18.0,如下圖所示:

2)下載當(dāng)前最新版本 nginx-1.19.7,并通過Xftp上傳至服務(wù)器,然后執(zhí)行解壓命令。
tar -zxvf nginx-1.19.7.tar.gz
如下圖所示:

3)解壓后,對(duì)最新版 nginx 進(jìn)行配置
(1)查看現(xiàn)有版本(老版本)nginx 的 configure 配置信息
nginx -V
如圖所示,得到 configure 的配置信息。

(2)然后,再對(duì)新版 nginx 進(jìn)行配置。
./configure --prefix=/usr/local/nginx
如下圖所示:

4)接著,進(jìn)行 make
make
進(jìn)行編譯,切記千萬(wàn)不要輸入 make install ,如下圖所示:

5)這樣,最新版本nginx的目錄下會(huì)多出來(lái)一個(gè)objs目錄,如下圖所示:

6)對(duì)老版本 sbin 目錄下的 nginx 進(jìn)行備份:
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
如下圖所示:

7)將編譯好的 objs 目錄下的 nginx 文件,復(fù)制到 /usr/local/nginx/sbin 目錄。
cp /root/nginx-1.19.7/objs/nginx /usr/local/nginx/sbin/nginx
如下圖所示:

方案1:make upgrade 命令升級(jí)
1)對(duì) nginx 升級(jí)
make upgrade
如下圖所示:

2)查看升級(jí)后的版本
/usr/local/nginx/sbin/nginx -V
可以看到升級(jí)成功,并且過程中服務(wù)不中斷,如下圖所示:

5)通過瀏覽器可以訪問到nginx的主頁(yè)。
如下圖所示:

方案2:服務(wù)信號(hào)升級(jí)
1)平滑重啟升級(jí)nginx
發(fā)送信號(hào) USR2 給 Nginx 的 1.18.0 版本對(duì)應(yīng)的 master 進(jìn)程。
kill -USR2 `cat /usr/local/nginx/log/nginx.pid`
舊版本 Nginx 的 pid 變?yōu)?oldbin ,這是舊版本和新版本的 nginx 同時(shí)運(yùn)行,過一端時(shí)間等就 nginx 處理完用戶請(qǐng)求后,執(zhí)行下面操作從容關(guān)閉舊版本的 Nginx 進(jìn)程。
2)從容關(guān)閉舊版本的Nginx進(jìn)程
kill -WINCH `cat /usr/local/nginx/log/nginx.oldbin`
3)決定是否升級(jí)到新版的 nginx
發(fā)送信號(hào) QUIT 給 Nginx 的 1.18.0 版本對(duì)應(yīng)的 master 進(jìn)程。
## nginx在不重載配置文件啟動(dòng)工作進(jìn)程 kill -HUP `cat /usr/local/nginx/log/nginx.oldbin` ## 關(guān)閉舊版nginx kill -QUIT `cat/usr/local/nginx/log/nginx.oldbin`
4)驗(yàn)證nginx是否升級(jí)成功
/usr/local/nginx/sbin/nginx -V
到此這篇關(guān)于nginx 版本升級(jí)的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)nginx 版本升級(jí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Nginx Ingress 優(yōu)雅顯示錯(cuò)誤頁(yè)面
這篇文章主要為大家介紹了使用Nginx Ingress 優(yōu)雅顯示錯(cuò)誤頁(yè)面實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
nginx支持帶下劃線的header實(shí)現(xiàn)
如果header name中包含下劃線,則忽略掉,本文主要介紹了nginx支持帶下劃線的header實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼
這篇文章主要介紹了Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2019-01-01
NGINX 報(bào)錯(cuò) 413 Request Entity Too&nbs
本文講述了處理Nginx因接口數(shù)據(jù)量過大導(dǎo)致的413錯(cuò)誤,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-08-08
nginx中的location路徑配置(實(shí)路徑和虛路徑)
這篇文章主要介紹了nginx中的location路徑配置(實(shí)路徑和虛路徑),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

