Nginx原始碼分析之http架構

2021-10-01 11:45:04 字數 669 閱讀 8809

1.初步認識nginx的http架構一些概念

關於nginx的http架構主要分為5個模組:handler模組,filter模組,upstream模組,event模組,loadbalance模組

event模組->事件模組

什麼是事件?fd可讀可寫,定時器都叫做事件。

為什麼要做成模組呢?為了跨平台,可移植。

什麼叫做負載均衡?多台伺服器以對稱的方式組成乙個伺服器集合,每台伺服器都有等價的地位,都可以單獨對外提供服務而無需其他伺服器的幫助。平均客戶的請求,解決大併發問題。

什麼是反向**?**伺服器來接受internet的請求,**給內部的伺服器,並且將伺服器的結果返回給客戶端,此時**的伺服器對外表現為乙個伺服器。**伺服器用來解決資料量過多請求的問題。

2.handler開發

如上圖,紅線代表upstream,黃線代表filter,藍線代表handler

upstream:實現自定義協議,通常用於資料**到伺服器,也可以返回客戶端,加資訊用的

filter:為返回給客戶端的資料加上東西

handler:用於過濾非法的資訊,不讓資訊傳到後台。

Nginx原始碼分析之ngx array t

ngx array t是乙個順序容器,類似於stl中的vector可以動態擴容。原始碼位置 nginx src core ngx array.h nginx src core ngx array.c typedef struct ngx array s ngx array t struct ngx ...

nginx原始碼分析之ngx list

ngx list t是nginx封裝鍊錶的容器,其原始碼位於 宣告 nginx src core ngx list.h 定義 nginx src core ngx list.c 在nginx中使用頻繁,例如http頭部就是用ngx list t儲存的。nginx的鍊錶 頭 結構為ngx list t...

nginx 原始碼分析

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