更新時(shí)間:2021-07-16 來(lái)源:黑馬程序員 瀏覽量:
如果想對(duì)Nginx的版本進(jìn)行更新,或者要應(yīng)用一些新的模塊,最簡(jiǎn)單的做法就是停止當(dāng)前的Nginx服務(wù),然后開(kāi)啟新的Nginx服務(wù)。但是這樣會(huì)導(dǎo)致在一段時(shí)間內(nèi),用戶是無(wú)法訪問(wèn)服務(wù)器。為了解決這個(gè)問(wèn)題,我們就需要用到Nginx服務(wù)器提供的平滑升級(jí)功能。這個(gè)也是Nginx的一大特點(diǎn),使用這種方式,就可以使Nginx在7*24小時(shí)不間斷的提供服務(wù)了。接下來(lái)我們分析下需求:
需求:Nginx的版本最開(kāi)始使用的是Nginx-1.14.2,由于服務(wù)升級(jí),需要將Nginx的版本升級(jí)到Nginx-1.16.1,要求Nginx不能中斷提供服務(wù)。
為了應(yīng)對(duì)上述的需求,這里我們給大家提供兩種解決方案:
方案一:使用Nginx服務(wù)信號(hào)完成Nginx的升級(jí)
方案二:使用Nginx安裝目錄的make命令完成升級(jí)
環(huán)境準(zhǔn)備
(1)先準(zhǔn)備兩個(gè)版本的Nginx分別是 1.14.2和1.16.1
(2)使用Nginx源碼安裝的方式將1.14.2版本安裝成功并正確訪問(wèn)
進(jìn)入安裝目錄 ./configure make && make install
(3)將Nginx1.16.1進(jìn)行參數(shù)配置和編譯,不需要進(jìn)行安裝。
進(jìn)入安裝目錄 ./configure make
方案一:使用Nginx服務(wù)信號(hào)進(jìn)行升級(jí)
第一步:將1.14.2版本的sbin目錄下的nginx進(jìn)行備份
cd /usr/local/nginx/sbin mv nginx nginxold
第二步:將Nginx1.16.1安裝目錄編譯后的objs目錄下的nginx文件,拷貝到原來(lái)/usr/local/nginx/sbin目錄下
cd ~/nginx/core/nginx-1.16.1/objs cp nginx /usr/local/nginx/sbin
第三步:發(fā)送信號(hào)USR2給Nginx的1.14.2版本對(duì)應(yīng)的master進(jìn)程
第四步:發(fā)送信號(hào)QUIT給Nginx的1.14.2版本對(duì)應(yīng)的master進(jìn)程
kill -QUIT `more /usr/local/logs/nginx.pid.oldbin`
方案二:使用Nginx安裝目錄的make命令完成升級(jí)
第一步:將1.14.2版本的sbin目錄下的nginx進(jìn)行備份
cd /usr/local/nginx/sbin mv nginx nginxold
第二步:將Nginx1.16.1安裝目錄編譯后的objs目錄下的nginx文件,拷貝到原來(lái)/usr/local/nginx/sbin目錄下
cd ~/nginx/core/nginx-1.16.1/objs cp nginx /usr/local/nginx/sbin
第三步:進(jìn)入到安裝目錄,執(zhí)行make upgrade
第四步:查看是否更新成功
./nginx -v
在整個(gè)過(guò)程中,其實(shí)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)了,為什么我們要修改html目錄下的文件,能不能多添加一些頁(yè)面是Nginx的功能更加豐富,還有前面聊到Nginx的前端功能又是如何來(lái)實(shí)現(xiàn)的,這就需要我們對(duì)Nginx的核心配置文件進(jìn)行一個(gè)詳細(xì)的學(xué)習(xí)。
將本頁(yè)面鏈接http://409rqu1.cn/news/20210716/141451.html發(fā)送給QQ:2217622915,免費(fèi)獲取上面課程全套視頻、筆記和源碼。
猜你喜歡: