首頁技術(shù)文章正文

Nginx升級教程:兩種方案任你選

更新時(shí)間:2021-07-16 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

如果想對Nginx的版本進(jìn)行更新,或者要應(yīng)用一些新的模塊,最簡單的做法就是停止當(dāng)前的Nginx服務(wù),然后開啟新的Nginx服務(wù)。但是這樣會(huì)導(dǎo)致在一段時(shí)間內(nèi),用戶是無法訪問服務(wù)器。為了解決這個(gè)問題,我們就需要用到Nginx服務(wù)器提供的平滑升級功能。這個(gè)也是Nginx的一大特點(diǎn),使用這種方式,就可以使Nginx在7*24小時(shí)不間斷的提供服務(wù)了。接下來我們分析下需求:

需求:Nginx的版本最開始使用的是Nginx-1.14.2,由于服務(wù)升級,需要將Nginx的版本升級到Nginx-1.16.1,要求Nginx不能中斷提供服務(wù)。

為了應(yīng)對上述的需求,這里我們給大家提供兩種解決方案:

方案一:使用Nginx服務(wù)信號完成Nginx的升級

方案二:使用Nginx安裝目錄的make命令完成升級

環(huán)境準(zhǔn)備

(1)先準(zhǔn)備兩個(gè)版本的Nginx分別是 1.14.2和1.16.1

(2)使用Nginx源碼安裝的方式將1.14.2版本安裝成功并正確訪問

進(jìn)入安裝目錄
./configure
make && make install

(3)將Nginx1.16.1進(jìn)行參數(shù)配置和編譯,不需要進(jìn)行安裝。

進(jìn)入安裝目錄
./configure
make

方案一:使用Nginx服務(wù)信號進(jìn)行升級

第一步:將1.14.2版本的sbin目錄下的nginx進(jìn)行備份

cd /usr/local/nginx/sbin
mv nginx nginxold

第二步:將Nginx1.16.1安裝目錄編譯后的objs目錄下的nginx文件,拷貝到原來/usr/local/nginx/sbin目錄下

cd ~/nginx/core/nginx-1.16.1/objs
cp nginx /usr/local/nginx/sbin

第三步:發(fā)送信號USR2給Nginx的1.14.2版本對應(yīng)的master進(jìn)程

第四步:發(fā)送信號QUIT給Nginx的1.14.2版本對應(yīng)的master進(jìn)程

kill -QUIT `more /usr/local/logs/nginx.pid.oldbin`

方案二:使用Nginx安裝目錄的make命令完成升級

第一步:將1.14.2版本的sbin目錄下的nginx進(jìn)行備份

cd /usr/local/nginx/sbin
mv nginx nginxold

第二步:將Nginx1.16.1安裝目錄編譯后的objs目錄下的nginx文件,拷貝到原來/usr/local/nginx/sbin目錄下

cd ~/nginx/core/nginx-1.16.1/objs
cp nginx /usr/local/nginx/sbin

第三步:進(jìn)入到安裝目錄,執(zhí)行make upgrade

nginx升級

第四步:查看是否更新成功

./nginx -v

在整個(gè)過程中,其實(shí)Nginx是一直對外提供服務(wù)的。并且當(dāng)Nginx的服務(wù)器啟動(dòng)成功后,我們是可以通過瀏覽器進(jìn)行直接訪問的,同時(shí)我們可以通過更改html目錄下的頁面來修改我們在頁面上所看到的內(nèi)容,那么問題來了,為什么我們要修改html目錄下的文件,能不能多添加一些頁面是Nginx的功能更加豐富,還有前面聊到Nginx的前端功能又是如何來實(shí)現(xiàn)的,這就需要我們對Nginx的核心配置文件進(jìn)行一個(gè)詳細(xì)的學(xué)習(xí)。

將本頁面鏈接http://m.3rdspacecomics.com/news/20210716/141451.html發(fā)送給QQ:2217622915,免費(fèi)獲取上面課程全套視頻、筆記和源碼。



猜你喜歡:

Nginx使用教程:Nginx從入門到精通

Java中final關(guān)鍵字如何使用?

Java中volatile關(guān)鍵字有什么作用?

JDBC詳細(xì)教程與jdbc連接數(shù)據(jù)庫方法

黑馬程序員java開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!