Nginx(十) 程序模型及工作原理

2022-04-09 05:32:42 字數 756 閱讀 3392

1.nginx程序模型

nginx是乙個master和worker的模型。master主要用來管理worker程序,master就比作老闆,worker就是打工仔,master指揮worker來做事情。下圖是nginx的程序模型:

master程序:

1.接收外界的訊號,例如:kill -quit,kill -hup

2.向各個worker程序傳送訊號

3.監控worker程序

4.當worker程序因異常退出,會自動啟動新的worker程序。

woker程序:

處理客戶端的請求

接收客戶端的連線,完成服務端和後端的資料互動,各個worker之間的程序是相互獨立的並且平等的,對請求的處理機會是相等的。

2.nginx工作原理

當啟動nginx時,maste程序啟動的時候,會建立好listener的乙個socket監聽,然後會fork出多個worker程序(根據配置檔案),當有請求來臨時,worker程序會通過共享鎖來保證在同一時刻只有乙個worker程序來處理同乙個連線,當worker程序接收到請求的時候,就開始做資料的響應和處理,哪乙個程序搶到鎖,哪乙個程序就會處理請求。

nginx是乙個殼,由核心和模組組成,主要是核心、基礎、第三方模組。其中,核心模組:http模組,event模組、mail模組。

nginx 工作原理及特點

nginx 簡介 是乙個高效能 http 和 反向 伺服器。nginx 特點是占有記憶體少,併發能力強,事實上 nginx 的併發能力確實在同型別的網頁 伺服器中表現較好。3.nginx 相對於 apache 優點如下 4.nginx 工作原理 nginx web 伺服器最主要就是各種模組的工作,模...

Nginx程序模型

這篇主要是閱讀這篇博文的筆記。nginx採用的也是大部分http伺服器的做法,master,worker模型,基本的事件處理都是放在worker中,master負責一些全域性初始化,以及對worker的管理。nginx中的master和worker之間是通過socketpair來實現的,每次fork...

Nginx程序模型

目錄 1.nginx管理 工作程序模式 2.驚群 問題 為了支援現在流行的多cpu和多核架構,nginx使用了管理程序和工作程序的設計。架構設計如下圖所示 管理程序為工作程序的父程序,負責外部指令的接收,工作程序的狀態監管,負載均衡等 工作程序負責客戶端請求的處理和響應,工作程序一般是按照cpu的核...