更新時間:2021年07月15日18時14分 來源:傳智教育 瀏覽次數(shù):
如果想對Nginx的版本進(jìn)行更新,或者要應(yīng)用一些新的模塊,最簡單的做法就是停止當(dāng)前的Nginx服務(wù),然后開啟新的Nginx服務(wù)。但是這樣會導(dǎo)致在一段時間內(nèi),用戶是無法訪問服務(wù)器。為了解決這個問題,我們就需要用到Nginx服務(wù)器提供的平滑升級功能。這個也是Nginx的一大特點(diǎn),使用這種方式,就可以使Nginx在7*24小時不間斷的提供服務(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)備兩個版本的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 -v
在整個過程中,其實(shí)Nginx是一直對外提供服務(wù)的。并且當(dāng)Nginx的服務(wù)器啟動成功后,我們是可以通過瀏覽器進(jìn)行直接訪問的,同時我們可以通過更改html目錄下的頁面來修改我們在頁面上所看到的內(nèi)容,那么問題來了,為什么我們要修改html目錄下的文件,能不能多添加一些頁面是Nginx的功能更加豐富,還有前面聊到Nginx的前端功能又是如何來實(shí)現(xiàn)的,這就需要我們對Nginx的核心配置文件進(jìn)行一個詳細(xì)的學(xué)習(xí)。
猜你喜歡:
北京校區(qū)