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