我下載的nginx源碼版本不可考,按日期來看是2015年7月的最新版本。解壓縮包取得原始碼資料夾,進入根目錄發現有幾個子目錄:auto、conf、contrib、 src 。從字面上猜測,是自動機或腳本(auto script)、設定檔(configuration)、支援文件(contributions)、文件(項) miscellaneous)、原始碼(source code)。 1、瀏覽源碼文件夾根目錄
按照慣例,我選擇先看看文檔,但是doc子目錄裡並沒有詳細的離線文檔,只有
一些看不懂的小文件。雜項misc裡也只有看不太懂的一個GNUmakefile
和一個README文件。 contrib子目錄裡有一個geo2nginx.pl(
geo模組的類型轉換(編碼映射表和一個編碼轉換perl腳本),和vim的nginx專用語法高亮設定檔。 conf子目錄裡有幾個編碼映射表、變數映射表和一個伺服器設定檔。 auto子目錄裡有許多包含伺服器安裝腳本在內的腳本,現在看腳本還比較吃力,所以只簡單瀏覽一下。我們發現nginx支援許多主流的作業系統平台:蘋果的開源系統darwin、重要的
Unix、多、品的另一個
Unix分支solaris、用戶佔有率最高的win32。 src子目錄果然都是需要研究的nginx的C源碼,下面我們會深入瀏覽。 2、瀏覽src子目錄 還是來看看src子目錄下有哪些子目錄:
src子目錄下有哪些子目錄: 、 mail、misc
、mysql、
os、stream。還是來依照字面意思猜測:核心(主函數、資料結構、主要方法)、事件(事件處理機制)、超文本傳輸協定(http相關)、郵件(郵件相關)、雜項( google perftools相關原始碼)、mysql資料庫、作業系統(Unix和Win32兩類系統的系統意義程式碼。看起來./src/core子目錄對研究原始碼來說是一個不錯的開始。 圖2 nginx源碼檔案說明 以上就介紹了nginx原始碼檔案結構瀏覽,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。