|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。
* g9 f& |) B2 d1 I7 Y1 S n# m9 W7 t.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
* z" M6 S1 @ F9 t+ |下面就介绍让Apache支持ASP.NET的办法。
' _4 M S( q# |2 p* f8 d- |4 u
' h" x( R% @4 G1 T7 t9 y 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
/ c \' j9 _3 q% j e+ C: [5 w$ N$ U6 P& K: _; O
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:8 g% [2 h% l" R/ C3 r; ^
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi6 Q5 f& K7 w# }/ m$ l
具体的安装过程请参阅其他文章,本文不再赘述。
4 R4 Q4 V3 [& I; g% @+ h4 C; `* a8 Q( e- f
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:1 N: [# F; ?- }1 {% {
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
6 y% B9 ^, o4 c! ?; V下载完成后双击打开,一路Next即可安装完成。
8 g' }# b' r9 u7 d" V' o7 H( i3 j ~& n, w& Q6 G F+ l7 _6 Y9 O+ y
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:1 I4 b5 B, ?8 F1 o6 ^) d" q
( @" A1 F. b/ |8 C9 s" k1 V
#asp.net o: ~# h. m5 ~3 \% k( Y
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
9 W/ p6 r: n* z2 t/ h0 U5 ~4 R/ y7 U) o
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \! V. K6 ]( |- G3 v
licx rem resources resx soap vb vbproj vsdisco webinfo ' b8 m* [2 S' h" q' e- k' }5 l
* R6 f) a; d/ D* e5 q6 f
<IfModule mod_aspdotnet.cpp>
( y2 @. z* E/ z3 G1 r2 m5 r
3 {; Z) T- i1 J% q( d* u% ~ # Mount the ASP.NET example application
4 W/ u: n4 I" R) p% l5 @ AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active": M4 S' _! G0 [+ e* R. F
; P9 X: o7 d6 k8 u' A # Map all requests for /active to the application files
/ d' R$ X5 N4 P# Q5 ~9 E Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"& A0 Y; F6 X& l" C
4 q8 F3 a+ I, E' ^8 `
# Allow asp.net scripts to be executed in the active example8 E; ~% R! y8 S3 y
<Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
" [/ x H$ q8 ~$ Z* ]. Y Options FollowSymlinks ExecCGI/ j- |2 b. m" G2 M4 p2 ~0 J7 j2 V
Order allow,deny2 l! c0 U! E& k2 W" [* z
Allow from all
4 ~0 t; o* y L7 y# F DirectoryIndex Default.htm Default.aspx8 S4 t3 B% f& G, c, y" @6 _: a6 k
</Directory>
, L) r; \% B! V7 d g
: N# b0 N' z i. U3 z- ] # For all virtual ASP.NET webs, we need the aspnet_client files + C0 Z2 G5 k6 ~/ Z: A% w
# to serve the client-side helper scripts.2 L9 g2 ~ ?; O8 Y6 O
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
: @3 b# @' X/ L' r "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
9 ?" _2 j8 C# n0 g9 l9 q <Directory \
9 R/ x( T( S2 `/ B2 s+ t "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
& X' L" l3 `, W1 E6 j, o5 p' | Options FollowSymlinks
& y6 X, w( h5 e! @6 a: j3 D Order allow,deny
5 E1 ?$ E, z( e Allow from all
2 e6 i P2 h1 B6 ^ </Directory>
. w3 n) R8 t# m# P5 ?0 R
5 ]0 p& D1 J2 i$ z: L! Y7 ^</IfModule>2 r! K- Q: {8 ?2 c( U
' B# b/ g" k$ o+ N6 p 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。
) z6 b! M# s# @现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。
& j/ Z9 N" r# a7 E" s
. |/ u1 j5 Y' x. Y- k 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|