要分析nginx原始碼,首先要搞懂的就是nginx的模組思想以及相關的資料結構。
還記得我們上一次寫的helloworld模組麼?裡面涉及最重要的資料就是ngx_module_t指標陣列,這個指標陣列包含了當前編譯版本支援的所有模組,這個指標陣列定義實在自動指令碼生成的objs/ngx_modules.c中,如下:
這裡只有每個模組變數的宣告,並且每個模組的定義都包含在自己的模組檔案當中,比如ngx_core_module定義在src/core/nginx.c中:
ngx_module_t ngx_core_module = ;
是不是跟helloworld裡面非常相似了,沒錯,他們都是模組,唯一的不同點就是helloworld是你另外加進去的。
到現在位置也只是初探nginx的模組,接下來的學習將會更複雜,在最後提一張別人畫的nginx的模組圖,有助於接下來的學習。
nginx原始碼學習
nginx原始碼學習是乙個痛苦又快樂的過程,下面列出了一些nginx的學習資源。看了nginx原始碼,發現這是乙份完全沒有注釋,完全沒有配置文件的 這份注釋版原始碼會不斷進行更新的 好了,第乙個問題,nginx的main函式在 呢?src core nginx.c 第二個問題,nginx啟動的時候都...
nginx學習筆記 原始碼編譯安裝
系統 centos linux release 7.6.1810 core 防火牆未關閉 nginx版本 nginx 1.14.0 目的 在centos下第一次安裝nginx 不是公升級安裝 wget 2 增加使用者組nginx groupadd nginx 3 增加使用者ngnix到使用者組ngi...
dubbo原始碼 學習筆記 二
dubbo原始碼中提供乙個demo 其中包含3個專案 api provider consumer api中定義了乙個介面 供其他兩個引用 public inte ce demoservice 在provider中提供了上面介面的乙個實現 public class demoserviceimpl im...