溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

windows環(huán)境下使用apxs編譯添加apache模塊

發(fā)布時(shí)間:2020-07-07 18:07:01 來源:網(wǎng)絡(luò) 閱讀:13109 作者:chengxiaol 欄目:系統(tǒng)運(yùn)維

windows環(huán)境下使用apxs編譯添加apache模塊


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

環(huán)境:

windows7 x86系統(tǒng)

apache 2.4.18

目標(biāo):

windows環(huán)境下,利用mod_limitipconn0.24源碼、apxsapache2.4.18添加mod_limitipconn模塊。

分析:

limitipconn模塊最新版已經(jīng)支持apache2.4了。但是沒有編譯好的對(duì)應(yīng)版本。因此需要自己動(dòng)手編譯模塊。在windows下要實(shí)現(xiàn)這個(gè)目標(biāo),需要安裝以下幾個(gè)軟件:apxswindows版)、perlwindows版本的,這是為了可以安裝apxs)、vc++6.0(要安裝版的。這個(gè)是apxs編譯c源碼模塊調(diào)用使用的。也可以使用其他的軟件)。


下載地址:

apxs

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

perl(ActivePerl )

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

vc++6.0

要安裝版。綠色版編譯時(shí)出錯(cuò)。


步驟:


安裝perlActivePerl),直接默認(rèn)安裝就好。安裝完成請(qǐng)確認(rèn)windows環(huán)境變量的path是否添加了perl的文位置。沒有自動(dòng)添加,請(qǐng)手工追加。如圖:

windows環(huán)境下使用apxs編譯添加apache模塊

安裝vc++6.0,這個(gè)一定使用安裝版的,否則編譯時(shí)會(huì)報(bào)錯(cuò)。我的安裝目錄:D:\Program Files\Microsoft Visual Studio,安裝完成確認(rèn)D:\Program Files\Microsoft Visual Studio\VC98\Bin\cl.exe,雙擊是否報(bào)錯(cuò)。(若報(bào)錯(cuò),請(qǐng)根據(jù)報(bào)錯(cuò)信息修復(fù)。我的報(bào)錯(cuò):mspdb60.dll文件丟失,下載該文件放到cl.exe所在目錄)。并把“D:\Program Files\Microsoft Visual Studio\VC98\Bin\”添加到環(huán)境變量path中。如圖:

windows環(huán)境下使用apxs編譯添加apache模塊

安裝apxs

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

運(yùn)行windows的命令提示符(即cmd),并進(jìn)入apxs安裝包文件所在位置。運(yùn)行以下命令:“perl Configure.pl --with-apache2=D:\wamp\bin\apache\apache2.4.18\ --with-apache-prog=httpd.exe”。如圖:

windows環(huán)境下使用apxs編譯添加apache模塊

注:會(huì)生成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.lib libapriconv-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是調(diào)用D:\Program Files\Microsoft Visual Studio\VC98\Bin\下的cl.exe、link.exe。其中LDFLAGS=...”D:\wamp\bin\apache\APACHE~1.18\lib采用默認(rèn)的就可以(”D:\wamp\bin\apache\APACHE~1.18\lib是我的默認(rèn)的。其實(shí)就是apache安裝目錄下的lib文件夾的目錄)。若LDFLAGS項(xiàng)目沒有更改編譯模塊時(shí)會(huì)報(bào)錯(cuò)。


在命令提示符中,運(yùn)行“VCVARS32”,如圖:

windows環(huán)境下使用apxs編譯添加apache模塊

windows環(huán)境變量中path,追加D:\wamp\bin\apache\apache2.4.18\bin\,如圖:

windows環(huán)境下使用apxs編譯添加apache模塊

在命令提示符中進(jìn)入mod_limipiconn源碼所在目錄,并運(yùn)行如下命令:

apxs -i -c -a mod_limitipconn.c

如圖:

windows環(huán)境下使用apxs編譯添加apache模塊


重要說明:

會(huì)在D:\wamp\bin\apache\apache2.4.18\lib\生成mod_limitipconn.lib文件。

會(huì)在D:\wamp\bin\apache\apache2.4.18\modules\生成mod_limitipconn.so文件。

每次追加windows環(huán)境變量path下的內(nèi)容,需要重新運(yùn)行命令提示符才能生效(或者說才能在命令提示符中應(yīng)用)。

編譯時(shí)提示“windows.h”相關(guān)錯(cuò)誤,請(qǐng)檢查D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk文件中的LDFLAGS是否修改,若已經(jīng)修改,請(qǐng)使用安裝版的vc++6.0。


涉及的文件位置羅列:

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

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

cl.exelink.exeVCVARS32 .bat所在位置:D:\Program Files\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\


附件:http://down.51cto.com/data/2366438
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI