nginx原始碼分析 開啟監聽套接字的流程

2022-03-10 19:15:53 字數 511 閱讀 1495

問題源於在分析nginx的原始碼時,找了半天沒有找到nginx是怎麼把監聽套接字讀事件新增到事件迴圈中的,後經過仔細的分析,終於搞明白,於是記錄一下。

開啟監聽套接字是在ngx_open_listening_sockets函式中進行的。

下面分析將監聽套接字新增到事件迴圈中的流程。

首先從event模組的定義開始說起:

ngx_event_process_init函式在ngx_single_process_cycle、ngx_worker_process_init被呼叫,在ngx_event_process_init中呼叫了ngx_add_event將監聽套接字新增到事件迴圈中。

至此,nginx新增監聽套接字讀事件到事件迴圈的流程就分析完了。

nginx 原始碼分析

近期準備研究一下nginx原始碼,此處記錄一下。計畫 1 了解evan miller 的文章 2 了解nginx的組織架構 3 了解nginx的基本資料結構 4 熟悉nginx的主要module及執行機制,主要是core http event os 5 簡單的module開發及測試 一 準備 為了方...

nginx原始碼分析 從原始碼看nginx框架總結

nginx原始碼總結 1 中沒有特別繞特別彆扭的編碼實現,從變數的定義呼叫函式的實現封裝,都非常恰當,比如從函式命名或者變數命名就可以看出來定義的大體意義,函式的基本功能,再好的架構實現在編碼習慣差的人實現也會黯然失色,如果透徹理解 的實現,領悟架構的設計初衷,覺得每塊 就想經過耐心雕琢一樣,不僅僅...

Nginx原始碼分析 connections陣列

本文的標題讓我糾結了好久,不知道是connections陣列合適,還是connections鍊錶更合適 nginx在此或多或少的注入了二者的特點,先不管是叫陣列還是叫鍊錶吧,只要能夠弄明白這個connections是怎麼回事就大功告成。nginx的每個worker程序都使用乙個相同的connecti...