1 回答

TA貢獻8條經(jīng)驗 獲得超34個贊
這個問題,你先看下Nginx的進程信息,在linux系統(tǒng)上執(zhí)行ps -ef|grep nginx
會出現(xiàn)如下的結(jié)果:
root ? ? 12241 ? ? 1? 0 7月17 ? ? ? ? 00:00:00 nginx: master process nginx -c /etc/nginx/nginx.conf
nginx? ? 23214 12241? 0 7月19 ? ? ? ? 00:00:00 nginx: worker process
nginx? ? 23215 12241? 0 7月19 ? ? ? ? 00:00:00 nginx: worker process
其中,master這個進程是Nginx服務(wù)啟動后的主進程,也是這些進程中的父進程,是操作系統(tǒng)root超級用戶運行的。
所以:其他的Nginx進程就是自進程了,它們的產(chǎn)生就是由主進程,派生出來的。master這個進程負責的工作有:讀取和校驗配置文件;創(chuàng)建、綁定、關(guān)閉套接字;啟動、終止、維護所配置數(shù)目的worker進程;不中斷服務(wù)刷新配置文件;不中斷服務(wù)升級程序(啟動新程序或在需要時回滾)等等
worker進程,就是自進程了,他就是真正的Nginx里邊工作并且處理請求的單元,我們一般會設(shè)置固定的數(shù)量。
這個master會向worker不斷的發(fā)送信號量,通信并且獲取進程的運行狀態(tài),當worker進程退出后(異常情況下),會自動重新啟動新的worker進程。
- 1 回答
- 0 關(guān)注
- 1715 瀏覽
添加回答
舉報