nginx在編譯安裝完成之後,出於以下兩種考慮都需要進行公升級:
而nginx所採用的平滑公升級可以保證在不停止服務的情況下解決以上問題。我們以動態增加–with-http_stub_status_module模組為例,步驟如下:
1. 檢視nginx版本號及已安裝模組
[root@foundation7 nginx]# nginx -v
nginx version: nginx/long #隱藏版本號為1.2.9,通過nginx-1.2.9/src/core/nginx.h標頭檔案隱藏。
built by gcc 4.8.5
20150623 (red
hat4.8.5-4) (gcc)
tlssni support enabled
configure arguments: --prefix=/usr/local
/pcre-8.40 --with-zlib=/usr
/nginx/zlib-1.2.11
wget
.9.tar
.gz
3.解壓並重新編譯
[root@foundation7 nginx-1.2.9]# make
原始碼安裝三部曲:./configure && make &&make install
[root@foundation7 nginx-1.2
.9]# make
make -f objs/makefile
make
.9」make
[1]: 「objs/nginx」是最新的。
make
.9」make -f objs/makefile manpage
make
.9」make
[1]: 對「manpage」無需做任何事。
make
.9」
可以看出當沒有修改時,是不進行重新編譯的。
4.替換nginx二進位制檔案[root@foundation7 nginx-1.2.9]# ll /usr/local/sbin/nginx
lrwxrwxrwx. 1 root root 31
6月 1510:
可以看到,我們已經動態載入了–with-http_stub_status_module模組。
nginx平滑公升級
先來說下我今天要實驗nginx平滑公升級的環境,從nginx.1.8.0公升級到nginx1.9.5 大概的流程 nginx的程序分為master主程序和work工作程序,master程序主要管理事件訊號接受和分發,所有的請求處理都由work程序處理並返回結 果,nginx的平滑重啟或過載配置檔案等...
Nginx平滑公升級
原文 來自nginx官網 如果想要公升級nginx版本 或者在原本版上增加 刪除模組 同時保持服務不間斷,採用如下方式可滿足要求。1.使用新的二進位制檔案替換老的二進位制檔案,這需要注意的是nginx原始碼在執行make編譯後,不要直接make install,否則可能會覆蓋其他配置檔案,命令如下 ...
Nginx平滑公升級
有時,我們需要對我們的伺服器進行公升級更高版本。此時,如果我們強行將伺服器停止然後直接公升級,這樣原來在伺服器上執行著的程序就會被影響。如何解決這個問題呢?可以通過平滑公升級的方式來解決。平滑公升級時,不會停掉在執行著的程序,這些程序會繼續處理請求,但不會再接受新請求,在這些老程序在處理完還在處理的...