天天看點

《深入剖析Nginx》——1.3 源碼目錄結構

本節書摘來自異步社群《深入剖析nginx》一書中的第1章,第1.3節,作者: 高群凱 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

将nginx源碼包解壓後,目錄檔案如下所示。

其中

auto/:包含了很多會在執行configure進行編譯配置時調用的檢測代碼。

changes:nginx的版本更新細節記錄。英文版。

changes.ru:nginx的版本更新細節記錄。俄文版。

conf/:nginx提供的一些預設配置檔案。

configure*:根據系統環境設定nginx編譯選項的執行腳本。

contrib/:網友貢獻的一些有用腳本。

html/:提供了兩個預設html頁面,比如index.html的welcome to nginx!。

license:聲明的nginx源碼許可協定。

man/:nginx的man手冊,本文檔案,可直接用vi或記事本打開。

readme:讀我檔案,内容很簡單,通告一下官網位址。

src/:nginx源碼,分門别類,比如實作事件的event等,很清晰。

執行configure腳本後将生成makefile檔案和objs目錄,這是根據目前系統環境生成的相關編譯配置。nginx并沒有使用autoconf1和automake2等這樣的自動化工具來做這個工作,而都是手動編碼實作的。比如當nginx判斷目前linux系統是否支援epoll時,它采用的方法就是編寫一款小應用程式,并在其中調用epoll_create()函數,然後再根據它是否可被正常編譯執行來做這個判斷。具體可參考檔案nginx-1.2.0/auto/os/linux和nginx-1.2.0/auto/feature内相關代碼。

繼續閱讀