nginx的平滑升級,不間斷服務


nginx的平滑升級,不間斷服務

 

Nginx更新真的很快,最近nginx的1.0.5穩定版,nginx的0.8.55和nginx的0.7.69舊的穩定版本已經發布。我一項比較喜歡使用新版本的軟件,於是把原來的nginx-1.0.2平滑升級至nginx-1.0.5穩定版。並記錄這一過程,參照這一過程也適用其他版本的升級,都是照葫蘆畫瓢的事情。希望對有需要的朋友有點幫助。

1. 開始之前先查看一下當前使用的版本。

# /usr/local/webserver/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.5
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50) nginx: TLS SNI support disabled nginx: configure arguments: --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-cc-opt=-O3 --with-cpu-opt=opteron --with-http_gzip_static_module 

※ 注意紅色區域,這是以前編譯的參數。馬上編輯新版本需要用到。

2.下載新版本:http://nginx.org/en/download.html

然后:解壓 > 便以前的准備 > 編譯

# tar zxvf nginx-1.0.5.tar.gz
# cd nginx-1.0.5 # ./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-cc-opt='-O3' --with-cpu-opt=opteron --with-http_gzip_static_module # make

3. 執行完后,這里不用在 make install 了,接下來重名/sbin/nginx為nginx.old

# mv /usr/local/webserver/nginx/sbin/nginx /usr/local/webserver/nginx/sbin/nginx.old

4. 復制編譯后objs目錄下的nginx文件到nginx的安裝目錄sbin/下

# cp objs/nginx /usr/local/webserver/nginx/sbin/

5. 測試一下新復制過來文件生效情況:

# /usr/local/webserver/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful

6. 讓nginx把nginx.pid文件修改成nginx.pid.oldbin,隨即啟動nginx,實現不間斷

# kill -USR2 `cat /usr/local/webserver/nginx/nginx.pid` 更新配置文件 # kill -QUIT `cat /usr/local/webserver/nginx/nginx.pid.oldbin` 優雅的關閉

7. 升級完成了,最后在看一下升級后的版本

# /usr/local/webserver/nginx/sbin/nginx -v
nginx: nginx version: nginx/1.0.5


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM