半自動就是在最後遷移的時候使用原始碼自帶的公升級命令:make upgrade 來自動完成
步驟一:進入當初ninx解壓出來的源資料夾
cd ngi0nx-1.14.1/
步驟二:nginx -v 檢視已經載入的模組,顯示
步驟三:重新configure 保留之前的模組並通過–add-module=path附加要載入的擴充套件所在目錄
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_slice_module --with-http_stub_status_module --add-module=/root/download/ngx_cache_purge-2.3
步驟四: make重新編譯生成新的二進位制檔案在objs中;切記不要用make install安裝make
步驟五:進入之前nginx安裝目錄,備份nginx 舊的二進位制檔案,即 sbin 目錄下的 nginx(期間 nginx 並不會停止服務),將其重新命名cd /usr/local/nginx/sbin
mv nginx nginx_old
步驟六:拷貝乙份新編譯的二進位制檔案(在源檔案目錄下的objs資料夾下)到安裝目錄cp objs/nginx /usr/local/nginx/sbin/
步驟七:在源資料夾執行 make upgrade 開始公升級。 完畢~make upgrade
關於nginx啟動提別注意:要用絕對路徑的命令來啟動,如果用環境變數中的nginx命令的啟動主程序例項,後面進行平滑公升級會報錯make: *** [upgrade] error 1,具體原因參考 nginx平滑公升級
先來說下我今天要實驗nginx平滑公升級的環境,從nginx.1.8.0公升級到nginx1.9.5 大概的流程 nginx的程序分為master主程序和work工作程序,master程序主要管理事件訊號接受和分發,所有的請求處理都由work程序處理並返回結 果,nginx的平滑重啟或過載配置檔案等...
Nginx平滑公升級
原文 來自nginx官網 如果想要公升級nginx版本 或者在原本版上增加 刪除模組 同時保持服務不間斷,採用如下方式可滿足要求。1.使用新的二進位制檔案替換老的二進位制檔案,這需要注意的是nginx原始碼在執行make編譯後,不要直接make install,否則可能會覆蓋其他配置檔案,命令如下 ...
Nginx平滑公升級
有時,我們需要對我們的伺服器進行公升級更高版本。此時,如果我們強行將伺服器停止然後直接公升級,這樣原來在伺服器上執行著的程序就會被影響。如何解決這個問題呢?可以通過平滑公升級的方式來解決。平滑公升級時,不會停掉在執行著的程序,這些程序會繼續處理請求,但不會再接受新請求,在這些老程序在處理完還在處理的...