a. 將pid文件重新命名為nginx.pid.oldbin
b. 執(zhí)行新的可執(zhí)行文件,按照常規(guī)的路徑會(huì)產(chǎn)生new master process和new worker process,此時(shí)新老進(jìn)程全部并存,并且全部正常工作——接受客戶(hù)端連接請(qǐng)求和服務(wù)客戶(hù)端
c. 向old master process發(fā)送SIGWINCH,其將會(huì)把自己所有的old master workers關(guān)閉,注意此時(shí)old master process的偵聽(tīng)套接字仍然工作的,必要時(shí)候還是會(huì)自動(dòng)產(chǎn)生自己的worker process。調(diào)試新版本升級(jí)是否正常:如果正常就向old master process發(fā)送SIGQUIT,加上之前SIGWINCH工作所有的old process清理完畢;如果不正常,向old master process發(fā)送SIGHUP產(chǎn)生worker process,同時(shí)向new master process發(fā)送SIGTERM信號(hào)立即清理所有的new worker process,然后使用SIGKILL殺死new master process
本文完!