|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。+ q g2 ?$ \' T' Z* x" o2 Z
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
7 B3 R5 g% y, f: R. E6 K下面就介绍让Apache支持ASP.NET的办法。
/ @% K# E. r* y8 B% ~( {8 X+ q2 u |& H
首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。; [" m! q O+ |
9 H$ W5 n% D. O
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
+ \+ N& ]) j8 Q+ p4 l: l' I/ K6 g* F1 Jhttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
( h4 [0 ]- ~1 c具体的安装过程请参阅其他文章,本文不再赘述。
0 y) J# F8 a6 D9 N+ b
* z- ~- R+ D: q. Q1 e0 |1 x. D 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:
0 e% n( x6 p5 I1 @" O8 Nhttp://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi2 q& e) J! g. p/ \3 i( U i& V
下载完成后双击打开,一路Next即可安装完成。
8 J: g* f# U- ^3 e* ]+ y; s: e' S9 E2 D1 u1 |% ^
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
. ^: O% f6 R0 p; X1 T4 x; K
- W1 N) ^: A/ s% R: A#asp.net: ^# C; j9 i8 n% s1 P3 ^, w
LoadModule aspdotnet_module "modules/mod_aspdotnet.so": M' P8 Z2 |. H, B( s5 O' Y# P
* T: `- k3 A& B3 oAddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
, V! X! b! v6 {+ k k7 n. g licx rem resources resx soap vb vbproj vsdisco webinfo , \, S r% E9 O" ]% K
% C" r$ H( Q7 @+ d" O5 `
<IfModule mod_aspdotnet.cpp>7 G3 V# Y. b* x9 H _9 o: O( Z' r& ?
$ Y1 J6 A) O. F$ U* s5 a. `8 S
# Mount the ASP.NET example application4 p+ m3 g) _9 u5 I. Y4 k" Z
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
" O2 }+ Y6 M; t
; r7 n+ D$ L9 N: f. f4 L' I # Map all requests for /active to the application files
1 P" A5 g* @ F/ @7 p* S Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
7 h+ x# B( ^3 n2 \/ ?! l
4 J- }! _6 X9 Z X # Allow asp.net scripts to be executed in the active example
1 k6 W6 j( s4 Z) D' @3 I <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
, I4 ~5 W$ m5 E# i Options FollowSymlinks ExecCGI
8 P2 M* I" C, ^4 q6 d8 X Order allow,deny
! _& g' }2 H) y( V Allow from all
1 t% \+ Y& }" y7 I& n DirectoryIndex Default.htm Default.aspx
1 j7 \" ]# @# b; q* P </Directory>
8 I' D9 I, t, X4 D% S, s3 D
! x( p o% x1 F. i$ J6 e( p* | # For all virtual ASP.NET webs, we need the aspnet_client files
- H9 W. n/ s5 h1 C, f # to serve the client-side helper scripts., X: V5 }; ]. U3 f+ o# x% D+ a
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
) ]. k: w w5 K3 s' w9 a "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
/ q; E* J* u6 c ?: M) v <Directory \
V. N% v. i6 G "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
/ U, T! d! k z) H1 Y( y Options FollowSymlinks" W( \1 X/ y4 D
Order allow,deny4 w6 M: n/ J d/ D
Allow from all1 L* A7 _1 x: \; g$ U) Q
</Directory>
2 j6 w$ k! H. e% y1 h
, A0 I1 p" Q# w% T</IfModule>9 Q3 t7 i2 x( {# I l
* V# {1 B; ?1 o0 v0 i7 V
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。' `, |' U+ W: U; @) H' ^
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。
- ]1 F: q2 i% _5 F. t% u2 E5 z, T \, A
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|