Centos7之Nginx的兩種工做模式

Nginx工做模式簡介

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

Nginx兩種工做模式

一、master-worker模式

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

優勢:

1)穩定性高,只要還有worker進程存活,就可以提供服務,而且一個worker進程掛掉master進程會當即啓動一個新的worker進程,保證worker進程數量不變,下降服務中斷的機率。ide

2)配合linux的cpu親和性配置,能夠充分利用多核cpu的優點,提高性能工具

3)處理信號/配置從新加載/升級時能夠作到儘量少或者不中斷服務性能

二、單進程模式

單進程模式下,nginx啓動後只有一個進程,nginx的全部工做都由這個進程負責。所以,該模式通常只在開發階段和調試時使用,生產環境下不會使用。
Centos7之Nginx的兩種工做模式3d

優勢:

單進程模式因爲只有一個進程,所以能夠很方便地利用gdb等工具進行調試。調試

缺點:

單進程模式不支持nginx的平滑升級功能,任何的信號處理均可能形成服務中斷,而且因爲是單進程,進程掛掉後,在沒有外部監控的狀況下,沒法重啓服務。blog

相關文章
相關標籤/搜索