Nginx平滑升級

Nginx-1.6.2升級到Nginx-1.7.2

  • 查看目前nginx的相關(guān)配置
# /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
    配置的內(nèi)容與原版本保持一致
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    配置完成后只需要執(zhí)行make,切忌不可執(zhí)行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變?yōu)閛ldbin,這是舊版本和新版本的nginx同時(shí)運(yùn)行,過一段時(shí)間等就nginx處理完用戶請求

  • 從容關(guān)閉舊版本的Nginx進(jìn)程
    kill -WINCH `cat /usr/local/nginx/log/nginx.oldbin`

  • 決定是否升級到新版的nginx
    kill –HUP `cat /usr/local/nginx/log/nginx.oldbin`##nginx在不重載配置文件啟動工作進(jìn)程
    kill –QUIT `cat /usr/local/nginx/log/nginx.oldbin` ##關(guān)閉舊版nginx
    驗(yàn)證nginx是否升級成功

  • 成功升級
    /usr/local/nginx/sbin/nginx –V ###顯示新版本則升級成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容