Nginx-1.6.2升級到Nginx-1.7.2
- 查看目前nginx的相關配置
# /usr/local/nginx/sbin/nginx -V
nginx version: TWS
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
下載需要更新的Nginx源碼包
wget -c http://nginx.org/download/nginx-1.7.2.tar.gz
解壓并編譯
cd /usr/local/src/
tar zxvf nginx-1.7.2.tar.gz
配置的內容與原版本保持一致
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
配置完成后只需要執行make
,切忌不可執行make install
備份舊版本的nginx
cd /usr/local/nginx/sbin/
mv nginx nginx.old
同步新版本的nginx
cp /usr/local/src/nginx-1.7.2/objs/nginx /usr/local/nginx/sbin/
測試新版本配置
/usr/local/nginx/sbin/nginx –t
平滑重啟升級Nginx
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
舊版本Nginx的pid變為oldbin,這是舊版本和新版本的nginx同時運行,過一段時間等就nginx處理完用戶請求
從容關閉舊版本的Nginx進程
kill -WINCH `cat /usr/local/nginx/log/nginx.oldbin`
決定是否升級到新版的nginx
kill –HUP `cat /usr/local/nginx/log/nginx.oldbin`
##nginx在不重載配置文件啟動工作進程
kill –QUIT `cat /usr/local/nginx/log/nginx.oldbin`
##關閉舊版nginx
驗證nginx是否升級成功成功升級
/usr/local/nginx/sbin/nginx –V
###顯示新版本則升級成功