1. 程式人生 > >Centos7之Nginx的兩種工作模式

Centos7之Nginx的兩種工作模式

mage centos7 生產 img 並且 概率 alt 調試 ges

Nginx工作模式簡介

nginx有兩種工作模式:master-worker模式和單進程模式。在master-worker模式下,有一個master進程和至少一個的worker進程,單進程模式顧名思義只有一個進程。這兩種模式有各自的特點和適用場景。

Nginx兩種工作模式

1、master-worker模式

master-worker模式下nginx啟動成功後,會有一個master進程和至少一個的worker進程。master進程負責處理系統信號,加載配置,管理worker進程(啟動,殺死,監控,發送消息/信號等)。worker進程負責處理具體的業務邏輯,也就是說,對外部來說,真正提供服務的是worker進程。生產環境下一般使用這種模式。

技術分享圖片

優點:

1)穩定性高,只要還有worker進程存活,就能夠提供服務,並且一個worker進程掛掉master進程會立即啟動一個新的worker進程,保證worker進程數量不變,降低服務中斷的概率。

2)配合linux的cpu親和性配置,可以充分利用多核cpu的優勢,提升性能

3)處理信號/配置重新加載/升級時可以做到盡可能少或者不中斷服務

2、單進程模式

單進程模式下,nginx啟動後只有一個進程,nginx的所有工作都由這個進程負責。因此,該模式一般只在開發階段和調試時使用,生產環境下不會使用。
技術分享圖片

優點:

單進程模式由於只有一個進程,因此可以很方便地利用gdb等工具進行調試。

缺點:

單進程模式不支持nginx的平滑升級功能,任何的信號處理都可能造成服務中斷,並且由於是單進程,進程掛掉後,在沒有外部監控的情況下,無法重啟服務。

Centos7之Nginx的兩種工作模式