Nginx在線服務狀態下平滑升級或新增模塊的詳細操作


今天應開發的需求,需要在Nginx增加一個模塊,並不能影響現有的業務,所以就必須要平滑升級Nginx,好了,不多說了

1:查看現有的nginx編譯參數

  /usr/local/nginx/sbin/nginx -V

2:按照安裝nginx的方法進行安裝,只需要到make,千萬不要make install

3: 備份舊版本的nginx可執行文件(期間nginx不會停止服務)

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

4:復制新的nginx二進制文件,進入新的nginx源碼包

    cp objs/nginx /usr/local/nginx/sbin/

5: 測試新版本的nginx是否正常

    /usr/local/nginx/sbin/nginx -t

6: 給nginx發送平滑遷移信號(若不清楚pid路徑,請查看nginx配置文件)

   kill -USR2 `cat /var/run/nginx.pid`

7:查看nginx pid,會出現一個nginx.pid.oldbin

8:從容關閉舊的Nginx進程

 kill -WINCH `cat /var/run/nginx.pid.oldbin`

9:此時不重載配置啟動舊的工作進程

  kill -HUP `cat /var/run/nginx.pid.oldbin`

10:結束工作進程,完成此次升級

   kill -QUIT `cat /var/run/nginx.pid.oldbin`

11:驗證Nginx是否升級成功

   /usr/local/nginx/sbin/nginx -V

  

 

 


免責聲明!

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



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