windows環境下使用apxs編譯添加apache模組

來源:互聯網
上載者:User

標籤:windows下利用apxs編譯源碼apache模組

windows環境下使用apxs編譯添加apache模組


簡介說明:本文使用mod_limitipconn模組為例。

環境:

windows7x86系統

apache2.4.18

目標:

在windows環境下,利用mod_limitipconn0.24源碼、apxs為apache2.4.18添加mod_limitipconn模組。

分析:

limitipconn模組最新版已經支援apache2.4了。但是沒有編譯好的對應版本。因此需要自己動手編譯模組。在windows下要實現這個目標,需要安裝以下幾個軟體:apxs(windows版)、perl(windows版本的,這是為了可以安裝apxs)、vc++6.0(要安裝版的。這個是apxs編譯c源碼模組調用使用的。也可以使用其他的軟體)。


apxs

http://www.apachelounge.com/download/additional/

perl(ActivePerl)

http://www.activestate.com/activeperl/downloads

vc++6.0

要安裝版。綠色版編譯時間出錯。


步驟:


安裝perl(ActivePerl),直接預設安裝就好。安裝完成請確認windows環境變數的path是否添加了perl的文位置。沒有自動添加,請手工追加。

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/8D/B3/wKioL1imu7GCLPBvAAdhiJHweqc543.png-wh_500x0-wm_3-wmp_4-s_2534098524.png" title="1.png" alt="wKioL1imu7GCLPBvAAdhiJHweqc543.png-wh_50" />

安裝vc++6.0,這個一定使用安裝版的,否則編譯時間會報錯。我的安裝目錄:D:\ProgramFiles\Microsoft Visual Studio,安裝完成確認D:\ProgramFiles\Microsoft VisualStudio\VC98\Bin\cl.exe,雙擊是否報錯。(若報錯,請根據報錯資訊修複。我的報錯:mspdb60.dll檔案丟失,下載該檔案放到cl.exe所在目錄)。並把“D:\ProgramFiles\Microsoft Visual Studio\VC98\Bin\”添加到環境變數path中。

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/8D/B3/wKioL1imu92yMtPPAAdhgP2YRzQ981.png-wh_500x0-wm_3-wmp_4-s_1476795905.png" title="2.png" alt="wKioL1imu92yMtPPAAdhgP2YRzQ981.png-wh_50" />

安裝apxs:

首先說明:apache安裝目錄:D:\wamp\bin\apache\apache2.4.18\

運行windows的命令提示字元(即cmd),並進入apxs安裝包檔案所在位置。運行以下命令:“perlConfigure.pl --with-apache2=D:\wamp\bin\apache\apache2.4.18--with-apache-prog=httpd.exe”。

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/8D/B6/wKiom1imvALhrOn7AAAyCVDAo24342.png-wh_500x0-wm_3-wmp_4-s_2587415461.png" title="3.png" alt="wKiom1imvALhrOn7AAAyCVDAo24342.png-wh_50" />

註:會產生D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk檔案和D:\wamp\bin\apache\apache2.4.18\bin\apxs.bat檔案。

修改D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk,效果如下:

CC = cl

LD = link

CPP = cl-nologo -E

LDFLAGS =kernel32.lib ws2_32.lib apr-1.lib aprutil-1.lib libapr-1.liblibapriconv-1.lib libaprutil-1.lib libhttpd.lib mod_dav.lib xml.lib/nologo /subsystem:windows /dll /machine:I386/libpath:"D:\wamp\bin\apache\APACHE~1.18\lib"


註:cl、link是調用D:\ProgramFiles\Microsoft VisualStudio\VC98\Bin\下的cl.exe、link.exe。其中LDFLAGS=...”D:\wamp\bin\apache\APACHE~1.18\lib”採用預設的就可以(”D:\wamp\bin\apache\APACHE~1.18\lib”是我的預設的。其實就是apache安裝目錄下的lib檔案夾的目錄)。若LDFLAGS項目沒有更改編譯模組時會報錯。


在命令提示字元中,運行“VCVARS32”,

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/8D/B6/wKiom1imvCXCpsIhAAA2AcG9wWc927.png-wh_500x0-wm_3-wmp_4-s_1037257986.png" title="4.png" alt="wKiom1imvCXCpsIhAAA2AcG9wWc927.png-wh_50" />

在windows環境變數中path,追加D:\wamp\bin\apache\apache2.4.18\bin\,

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/8D/B3/wKioL1imvF7y5eA7AAi_AB2FW8I312.png-wh_500x0-wm_3-wmp_4-s_2495511821.png" title="5.png" alt="wKioL1imvF7y5eA7AAi_AB2FW8I312.png-wh_50" />

在命令提示字元中進入mod_limipiconn源碼所在目錄,並運行如下命令:

apxs -i -c -amod_limitipconn.c

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/8D/B3/wKioL1imvIfyd2Y0AABSlhkqWaY931.png-wh_500x0-wm_3-wmp_4-s_2594398008.png" title="6.png" alt="wKioL1imvIfyd2Y0AABSlhkqWaY931.png-wh_50" />


重要說明:

會在D:\wamp\bin\apache\apache2.4.18\lib\產生mod_limitipconn.lib檔案。

會在D:\wamp\bin\apache\apache2.4.18\modules\產生mod_limitipconn.so檔案。

每次追加windows環境變數path下的內容,需要重新運行命令提示字元才會生效(或者說才能在命令提示字元中應用)。

編譯時間提示“windows.h”相關錯誤,請檢查D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk檔案中的LDFLAGS是否修改,若已經修改,請使用安裝版的vc++6.0。


涉及的檔案位置羅列:

apache2.4.18安裝位置:D:\wamp\bin\apache\apache2.4.18、

vc++6.0安裝位置:D:\ProgramFiles\Microsoft Visual Studio

cl.exe、link.exe及VCVARS32.bat所在位置:D:\ProgramFiles\Microsoft Visual Studio\VC98\Bin\

apxs安裝後所在位置:D:\wamp\bin\apache\apache2.4.18\bin\

config_vars.mk所在位置:D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk

perl安裝位置:C:\Perl\

mod_limitipconn源碼所在位置:D:\mod_limitipconn\


windows環境下使用apxs編譯添加apache模組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.