nginx版本升級(jí)

admin Nginx1 879字?jǐn)?shù) 1771閱讀模式

1、需求

因?yàn)橐恍┰?,比如說(shuō) nginx發(fā)現(xiàn)漏洞、應(yīng)用一些新的模塊等等,想對(duì) Nginx 的版本進(jìn)行更新,最簡(jiǎn)單的做法就是停止當(dāng)前的Nginx服務(wù),然后開(kāi)啟新的Nginx服務(wù)。但是這樣會(huì)導(dǎo)致在一段時(shí)間內(nèi),用戶(hù)是無(wú)法訪問(wèn)服務(wù)器。
為了解決這個(gè)問(wèn)題,我們就需要用到Nginx服務(wù)器提供的平滑升級(jí)功能。這個(gè)也是Nginx的一大特點(diǎn),使用這種方式,就可以使 Nginx 在 7*24 小時(shí)不間斷的提供服務(wù)了。

2、需求

Nginx 的版本最開(kāi)始使用的是 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í)文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

3、nginx 版本升級(jí)

3.1、環(huán)境說(shuō)明
當(dāng)前是 CentOS7 服務(wù)器。
點(diǎn)擊進(jìn)入 nginx 下載頁(yè)面
3.2、環(huán)境準(zhǔn)備
1)已安裝的 Nginx 版本信息文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

nginx -V
或者
/usr/local/nginx/sbin/nginx -V

2)下載當(dāng)前最新版本?nginx-1.19.7,并通過(guò)Xftp上傳至服務(wù)器,然后執(zhí)行解壓命令。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

tar -zxvf nginx-1.19.7.tar.gz

如下圖所示:
nginx版本升級(jí)
3)解壓后,對(duì)最新版 nginx 進(jìn)行配置
(1)查看現(xiàn)有版本(老版本)nginx 的?configure?配置信息文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

nginx -V

如圖所示,得到 configure?的配置信息。
nginx版本升級(jí)
(2)然后,再對(duì)新版 nginx 進(jìn)行配置。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

./configure  --prefix=/usr/local/nginx

如下圖所示:
nginx版本升級(jí)
4)接著,進(jìn)行 make文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

make

進(jìn)行編譯,切記千萬(wàn)不要輸入make install?,如下圖所示:
nginx版本升級(jí)
5)這樣,最新版本nginx的目錄下會(huì)多出來(lái)一個(gè)objs目錄,如下圖所示:
nginx版本升級(jí)
6)對(duì)老版本 sbin 目錄下的 nginx 進(jìn)行備份:文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

mv /usr/local/nginx/sbin/nginx   /usr/local/nginx/sbin/nginx.old

如下圖所示:
nginx版本升級(jí)
7)將編譯好的objs目錄下的nginx文件,復(fù)制到/usr/local/nginx/sbin目錄。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

cp /root/nginx-1.19.7/objs/nginx   /usr/local/nginx/sbin/nginx

如下圖所示:
nginx版本升級(jí)
3.3、方案1:make upgrade 命令升級(jí)
1)對(duì) nginx 升級(jí)文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

make upgrade

如下圖所示:
nginx版本升級(jí)
2)查看升級(jí)后的版本文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

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

可以看到升級(jí)成功,并且過(guò)程中服務(wù)不中斷,如下圖所示:
nginx版本升級(jí)
5)通過(guò)瀏覽器可以訪問(wèn)到nginx的主頁(yè)。
如下圖所示:
nginx版本升級(jí)
3.4、方案2:服務(wù)信號(hào)升級(jí)
1)平滑重啟升級(jí)nginx
發(fā)送信號(hào)USR2Nginx1.18.0?版本對(duì)應(yīng)的 master 進(jìn)程。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

kill -USR2 `cat /usr/local/nginx/log/nginx.pid`

舊版本 Nginx 的 pid 變?yōu)?oldbin ,這是舊版本和新版本的 nginx 同時(shí)運(yùn)行,過(guò)一端時(shí)間等就 nginx 處理完用戶(hù)請(qǐng)求后,執(zhí)行下面操作從容關(guān)閉舊版本的 Nginx 進(jìn)程。
2)從容關(guān)閉舊版本的Nginx進(jìn)程文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

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)程。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

## 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í)成功文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

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

4、總結(jié)

在整個(gè)過(guò)程中,Nginx 是一直對(duì)外提供服務(wù)的。并且當(dāng) Nginx 的服務(wù)器啟動(dòng)成功后,我們是可以通過(guò)瀏覽器進(jìn)行直接訪問(wèn)的,同時(shí)我們可以通過(guò)更改 html 目錄下的頁(yè)面來(lái)修改我們?cè)陧?yè)面上所看到的內(nèi)容,那么問(wèn)題來(lái)了,為什么我們要修改 htm l目錄下的文件,能不能多添加一些頁(yè)面是 Nginx 的功能更加豐富,還有前面聊到Nginx 的前端功能又是如何來(lái)實(shí)現(xiàn)的,這就需要我們對(duì) Nginx 的核心配置文件進(jìn)行一個(gè)詳細(xì)的學(xué)習(xí)。文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html 文章源自網(wǎng)吧系統(tǒng)維護(hù)-http://www.ykday.cn/9971.html

版權(quán)聲明:文章圖片資源來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2023年2月6日 20:56:48
  • 轉(zhuǎn)載請(qǐng)務(wù)必保留本文鏈接:http://www.ykday.cn/9971.html
評(píng)論  1  訪客  1
    • 匿名
      匿名 4

      小白還是不好下手

    匿名

    發(fā)表評(píng)論

    匿名網(wǎng)友 填寫(xiě)信息

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: