windows环境下使用apxs编译添加apache模块
按需制作网站可以根据自己的需求进行定制,成都网站建设、做网站构思过程中功能建设理应排到主要部位公司成都网站建设、做网站的运用实际效果公司网站制作网站建立与制做的实际意义简介说明:本文使用mod_limitipconn模块为例。
环境:
windows7 x86系统
apache 2.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的文位置。没有自动添加,请手工追加。如图:
安装vc++6.0,这个一定使用安装版的,否则编译时会报错。我的安装目录:D:\Program Files\Microsoft Visual Studio,安装完成确认D:\Program Files\Microsoft Visual Studio\VC98\Bin\cl.exe,双击是否报错。(若报错,请根据报错信息修复。我的报错:mspdb60.dll文件丢失,下载该文件放到cl.exe所在目录)。并把“D:\Program Files\Microsoft Visual Studio\VC98\Bin\”添加到环境变量path中。如图:
安装apxs:
首先说明:apache安装目录:D:\wamp\bin\apache\apache2.4.18\
运行windows的命令提示符(即cmd),并进入apxs安装包文件所在位置。运行以下命令:“perl Configure.pl --with-apache2=D:\wamp\bin\apache\apache2.4.18\ --with-apache-prog=httpd.exe”。如图:
注:会生成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是调用D:\Program Files\Microsoft Visual Studio\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”,如图:
在windows环境变量中path,追加D:\wamp\bin\apache\apache2.4.18\bin\,如图:
在命令提示符中进入mod_limipiconn源码所在目录,并运行如下命令:
apxs -i -c -a mod_limitipconn.c
如图:
重要说明:
会在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:\Program Files\Microsoft Visual Studio
cl.exe、link.exe及VCVARS32 .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另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。