深入剖析nginx
將nginx原始碼包解壓後,目錄檔案如下所示。
[root@localhost nginx-1.2.0]# ls -f
auto/ changes changes.ru conf/ configure* contrib/ html/ license man/ readme src/
其中
執行configure指令碼後將生成makefile檔案和objs目錄,這是根據當前系統環境生成的相關編譯配置。nginx並沒有使用autoconf1和automake2等這樣的自動化工具來做這個工作,而都是手動編碼實現的。比如當nginx判斷當前linux系統是否支援epoll時,它採用的方法就是編寫一款小應用程式,並在其中呼叫epoll_create()函式,然後再根據它是否可被正常編譯執行來做這個判斷。具體可參考檔案nginx-1.2.0/auto/os/linux和nginx-1.2.0/auto/feature內相關**。
nginx原始碼剖析 1 概要
用 剖析 這個詞語有點大言不慚了。一直對伺服器程式設計感興趣,選擇nginx作為分析的物件是因為其效率比較高,量也比較合適 10w行左右 質量高,作者對效率要求非常高,對 也有異乎尋常的潔癖。打算寫成乙個系列,但是本人文件水平一直偏弱,而且寫在這裡主要目的也只是為了當作學習筆記記錄,所以如果各位看官...
原始碼剖析 Hashtable 原始碼剖析
hashtable同樣是基於雜湊表實現的,同樣每個元素都是key value對,其內部也是通過單鏈表解決衝突問題,容量不足 超過了閾值 時,同樣會自動增長。hashtable也是jdk1.0引入的類,是執行緒安全的,能用於多執行緒環境中。hashtable同樣實現了serializable介面,它支...
GDAL原始碼剖析(一)
一 gdal簡介 gdal官方 本文章中的基本內容都是參照官網中的資訊,如有錯誤或者與官網中的內容衝突,以官網中的為正確。在開始文章之前,我想先提出幾個問題,什麼是gdal?gdal能做什麼?gdal怎麼使用?gdal內部結構是怎麼組織的?gdal提供的演算法原理是什麼?對於上面的幾個問題,希望大家...