一直想學習一個優秀的服務器源代碼,之前一直糾結在學apache還是ngnix,後來比較一下,還是學習ngnix比較好,因爲我目前致力於linux下的服務端軟件開發。
尤其是想學一下web服務器的開發。
第一,代碼量比較少,貌似就十萬行,但是apach幾十萬行,會很累看的。
第二,技術都比較好,代碼風格好。
第三,技術文檔少,刺激自己努力學習
第四,目前很優秀的web服務器。
缺點主要是文檔少和全是c實現。呵呵要是c/c++就好了,總之,還是決定學習了ngnix
先看一下目錄結構,ngnix是一個非常好的優秀的服務端軟件,各方面都很規範,就是文檔比較少。
├─auto 自動編譯安裝相關目錄
│ ├─cc 針對各種編譯器進行相應的編譯配置目錄,包括Gcc、Ccc等
│ ├─lib 程序依賴的各種庫,包括md5,openssl,pcre等
│ ├─os 針對不同操作系統所做的編譯配置目錄
│ └─types
├─conf 相關配置文件等目錄,包括nginx的配置文件、fcgi相關的配置等
├─contrib
├─html index.html
└─src 源碼目錄
├─core 核心源碼目錄,包括定義常用數據結構、體系結構實現等
├─event 封裝的事件系統源碼目錄
├─http http服務器實現目錄
├─mail 郵件代碼服務器實現目錄
├─misc 該目錄當前版本只包含google perftools包
└─os nginx對各操作系統下的函數進行封裝以及實現核心調用的目錄。
我下載的代碼是0.5穩定版的。不知道1.0和他有什麼區別,不過我兩份都下載了,到時候比較一下。
更多文章。歡迎訪問http://blog.csdn.net/wallwind