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 下載頁面
環(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)行編譯,切記千萬不要輸入 make install
,如下圖所示:
5)這樣,最新版本nginx的目錄下會(huì)多出來一個(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的主頁。
如下圖所示:
方案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如何配置根據(jù)路徑轉(zhuǎn)發(fā)詳解
Nginx是作為一個(gè)反向代理,轉(zhuǎn)發(fā),和負(fù)載均衡的服務(wù)器,也可以用于分布式,下面這篇文章主要給大家介紹了關(guān)于Nginx如何配置根據(jù)路徑轉(zhuǎn)發(fā)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07使用Nginx實(shí)現(xiàn)負(fù)載均衡的策略
本篇文章主要介紹了使用Nginx實(shí)現(xiàn)負(fù)載均衡的策略,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02Nginx實(shí)現(xiàn)集群的負(fù)載均衡配置過程解析
這篇文章主要為大家詳細(xì)介紹了Nginx實(shí)現(xiàn)集群的負(fù)載均衡配置過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Nginx安裝nginx-rtmp-module模塊的實(shí)現(xiàn)
nginx-rtmp-module是一個(gè)用于Nginx的第三方模塊,它使Nginx能夠支持實(shí)時(shí)多媒體流的傳輸和處理,本文主要介紹了Nginx安裝nginx-rtmp-module模塊,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02Mac使用Nginx設(shè)置代理并禁用自帶Apache的問題記錄
本文介紹如何在Mac上禁用自帶的Apache服務(wù)并安裝Nginx,首先需要關(guān)閉Apache并禁止其自啟動(dòng),接著,通過Homebrew安裝Nginx,并配置其文件和目錄,最后,介紹了如何生成SSL/自簽名證書,詳細(xì)步驟包括修改Apache配置、安裝Nginx、編輯Nginx配置文件以及驗(yàn)證和重啟Nginx服務(wù)2024-09-09nginx?location指令(匹配順序匹配沖突)實(shí)戰(zhàn)示例詳解
這篇文章主要介紹了nginx?location指令(實(shí)戰(zhàn)示例匹配順序匹配沖突)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06nginx代理postgresql的實(shí)現(xiàn)示例
本文主要介紹了nginx代理postgresql的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10