百度首页 | 百度空间
 
查看文章
 
Windows 2003 平台 Apache-2.2.6 +mod_limitipconn+ PHP 5 + SQL SERVER 2005 配置 -2007.11.08
2007-11-08 17:07


作者:Tank http://hi.baidu.com/uroot 转载请保留本出处

更新:
对于Apache-2.2.8 本文同样适用。

1. 操作系统:      在Windows 2003
2. Apache 2.2.6   http://httpd.apache.org  
     安装到c:\apache2.2
3. PhP 5.2.4         http://www.php.net
    使用zip版本,释放到C:\php
4. 配置apache 的php DSO.
修改 httpd.conf
# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "c:/php"

Copy c:\php.ini-dist 为php.ini ,修改php.ini ,
extension_dir = "c:\php"
把c:\php\ext目录下的php_mssql.dll 拷贝到c:\php
把 extension php_mssql.dll 注释取消

5. apache configtest 没问题。但是error_log中有警告未找到模块。使用phpinfo()看到php_mssql.dll加载是提示有错误未找到模块。一般都是因为php_mssql.dll需要用到的dll没有在路径中发现的原因。

6.使用borland 的tdump.exe 查看 php_mssql.dll 需要 ntwdblib.dll 支持.但是SQL Server 2005 native client 已经没有这个文件了。到SQL Server 2000里抓一个过来。放到windows\system32或者php目录.
apache2.2/bin目录也放一个。保证它哪里都能找到就是了。

7. 配置限制用户并发线程,使用Apache模块 mod_limitipconn
需要自己编译:
源码下载:http://dominia.org/djao/limit/win32/mod_ipconn.zip
编译环境:VS 2005 Windows XP 安装了Apache 2.2.6 lib 和include

在httpd.conf中:
LoadModule status_module modules/mod_status.so
ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.dll

<IfModule mod_limitipconn.c>
<Location />
MaxConnPerIP 3
NoIPLimit images/*
</Location>
<Location /mp3>
MaxConnPerIP 1
OnlyIPLimit audio/mpeg video
</Location>
</IfModule>

用Flashget测试。如果超过3个连接线程,会出503错误。
所有配置成功.
--------------------------------------------------------------
VS2005 下编译 mod_limitipconn.dll详细步骤:
1.开发环境
Windows XP SP2简体中文版 + VS 2005 Team Suite 简体中文版 +SP1

2.安装apache 2.2.6 Win32版本(记得安装开发组件)

自httpd.apache.org 下载安装windows 版本的apache-2.2.6
假定安装目录为C:\apache

3.下载mod_ipconn win32源码:
http://dominia.org/djao/limit/win32/mod_ipconn.zip

4. 项目转换为Vs2005
解压缩后,使用vs2005打开项目文件,按提示转换vc6项目为vs2005项目文件。

5.配置apache头文件和lib库。

mod_ipconn属性页->配置属性->C/C++->常规->附加包含目录
输入安装的apache的include目录

mod_ipconn属性页->配置属性->链接器->附加依赖项
内容如下:
把apache的lib目录修改为自己的apache目录实际位置
odbc32.lib odbccp32.lib E:\server\Apache2\lib\libhttpd.lib E:\server\Apache2\lib\libapr.lib
另外,把 libapr.lib改为 libapr-1.lib


6.解决方案配置为Release版本

7.编译生成mod_limitipconn.dll 。

完成。


类别:linux/win/server | 添加到搜藏 | 浏览() | 评论 (2)
 
网友评论:
1
2008-01-22 10:49
能讲一下详细的mod_limitipconn在Apache 2.2.6下的编译与配置过程吗。本人非常愚钝,无法获得Apache 2.2.6的mod_limitipconn所需头文件与lib ,请问怎么操作,谢谢!~
 
2
2008-04-26 22:17
--------------------Configuration: mod_ipconn - Win32 Release--------------------
Linking...
Creating library Release/mod_limitipconn.lib and object Release/mod_limitipconn.exp

mod_limitipconn.dll - 0 error(s), 0 warning(s)
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu