|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。
- E" ]" |' K0 S7 ?.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。- Y8 O5 D0 K& z* C" i; m
下面就介绍让Apache支持ASP.NET的办法。
) b5 i; z- m5 @$ x: y1 {- q
( D) O4 x% P9 Y4 [ 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。1 E( s3 l2 w* ]7 u# |8 t) Y% u3 r
7 P d: Z% u0 [2 A! F9 w* x
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
/ @4 d6 e6 A6 b4 r( J/ n8 q4 Nhttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi5 x. G0 d1 |1 F v
具体的安装过程请参阅其他文章,本文不再赘述。3 A) P7 C* y* w, m: i0 e8 m. }* U
* T2 h. E$ l* @/ D5 H$ J6 R3 a
下面要下载并安装Apache环境下的ASP.NET模块。下载地址: B r# }" Q! p
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi5 T/ B# L8 Y1 t
下载完成后双击打开,一路Next即可安装完成。
, R% |( c" R1 ^; N* N6 B3 y! N1 t& S0 ^
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
1 ]& t$ m2 Q5 r
r; E2 s; N% q4 c# M/ t9 v: r#asp.net# G6 Q' Y5 a2 Y' `9 F
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"; V7 A7 M7 {8 W$ C
1 I7 d6 C! d# T
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
: d' j6 o S" ^, M2 q) {4 a licx rem resources resx soap vb vbproj vsdisco webinfo ' j$ W. ^3 b7 j& m
' x3 f8 r6 e3 T+ n<IfModule mod_aspdotnet.cpp>
6 ^7 ?& ^8 m! d. }5 O$ r7 z8 r4 V& j, w( g, R
# Mount the ASP.NET example application
- x7 S$ m3 w+ I1 i( v AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active") W! j8 } w3 J# @, K
4 W3 G# z, e) ]) W( ^) R. Z # Map all requests for /active to the application files
, ^% F( _ h, j$ J+ r Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
# Y: r- o* Y$ O& H( n1 ]: d7 R; E- b$ s' Y% T
# Allow asp.net scripts to be executed in the active example
1 S7 y- {6 t4 h4 @; H! b <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">" F- r" E$ h$ U1 R5 O% W) p2 c5 R
Options FollowSymlinks ExecCGI
- {0 `+ _9 Q% i. g3 g' J, q0 q, y- V Order allow,deny V5 W% n2 y( X- x _
Allow from all
) e8 U$ c, v( Q% n) Y DirectoryIndex Default.htm Default.aspx
2 a# S. R/ g7 Q$ m5 p6 t4 W" w </Directory>8 b$ Q, H& f( x& L3 @6 T
* |# |$ u7 o/ d6 x9 h4 b) F
# For all virtual ASP.NET webs, we need the aspnet_client files
2 i; ~6 n2 Y8 _3 J) e # to serve the client-side helper scripts.8 z& H- `0 w" @* M7 o. l5 O
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
7 c& J0 P/ _9 e4 _0 Y: H "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
7 V" ~0 i: |6 a, P+ h4 N: G& x <Directory \
2 r0 g5 b* D9 ^7 ~* A4 m" F "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
- K$ y5 ^0 p: z Options FollowSymlinks# r4 x1 O5 @- D* M
Order allow,deny
# ]- V2 R, e5 R Allow from all
; c1 Z) k& ?9 j9 H0 b( ` </Directory>
! E5 a2 M6 S6 t/ N x* {; s* _
</IfModule>
$ [: x" G3 o$ h6 G" y
- u+ b0 W" G( D4 L$ w M6 E6 O 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。
j: }; o8 |( l9 v现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。. w2 K4 {, [7 Z2 b8 u
4 b' N7 a1 b! b& I W 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|