在windows中編譯mod_bw

 Sun, 12 Dec 2010 16:25:42 +0800

今天看到宗董介紹,回頭再看了一下mod_bw...這個module有點舊了,最新版本是0.7,而且更新日期是在2005年...,不果看起來他支援Apache2.0的模組,所以跟Apache2.2應該相容性還OK。

網站上有已經編譯好的模組可用,但是下載來用時發現,AppServ裡面的httpd無法啟動,看起來是載入這個模組出了問題,只好自己編譯看看了

試了一下,比較快的方式是

  1. 進入httpd-2.2.8(之前編譯過,所以用這個)原始碼目錄中的modules/filters目錄
  2. 把mod_bw原始碼中的mod_bw.c複製到這個目錄
  3. 這篇文章的方式修改mod_bw.c的原始碼
  4. 把mod_filter.mak複製成mod_bw.mak,然後把檔案中的"mod_filter"字串取代成"mod_bw"字串
  5. 進入Microsoft Windows SDK 6.1的console,進入上述目錄,然後用"nmake /f mod_bw.mak"命令進行編譯
  6. 然後把編譯好的mod_bw.so拷貝到httpd模組目錄中,然後做好設定,重啟apache httpd

因為我都用Windows SDK + VC Express來編譯,這樣用apxs反而會產生不正確的設定XD,所以修改Makefile反而比較快...