|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。" O9 v+ H1 x3 [
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。$ C4 c( o4 I0 v9 d' t% o( s& l
下面就介绍让Apache支持ASP.NET的办法。7 p# y8 S, Z; {% A, X
: L' `# o: ^- k- O+ T 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。% X& y: u/ H% x8 P! N8 l
0 ]; V1 f' g; `+ @2 K. I- e 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
" s8 W* E0 l1 }2 m5 C' ]/ x# fhttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
9 |# s2 x$ K- O7 V$ y0 O7 h/ |1 g具体的安装过程请参阅其他文章,本文不再赘述。
2 Z# J; I C& r, R5 {' b5 [/ B5 V/ K! D+ z% W7 j A
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:( Z/ r- v. ~( f( [& ?* p. g1 U% I( }- N
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi3 a( ]2 x1 O1 c
下载完成后双击打开,一路Next即可安装完成。
! _/ A! K" h. U& J) ?% p0 j9 D' a% D& P* Q9 ^% ]
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:) p- ^. Y6 Y6 ^
' e, @" ^* y& Z$ C/ f$ W9 P; m$ I
#asp.net( A' Z0 {+ T' T* k* P/ R( }# z' D# d6 m
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
! d' y8 l: `' c- W* l; D) T, l$ v& @: q2 F7 U+ l7 K& y* x
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
3 C0 x) {9 I/ O1 X6 R7 Y; B licx rem resources resx soap vb vbproj vsdisco webinfo
* g8 `2 p7 v( O8 \: ]" [0 t- h$ l; B0 {$ e; L
<IfModule mod_aspdotnet.cpp>- Q0 I0 C1 [/ K
+ |3 n3 P* a" u- {/ B: }
# Mount the ASP.NET example application
) [7 W7 {4 w. D# x; h$ p8 y0 E. f! s AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
% g, o7 k. L! _
* e/ P! T) `6 R& M # Map all requests for /active to the application files! w* \; B k' u: B! x) w
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active") t, _2 L/ Q+ c- Y4 R `' c% H
- k" Y% t9 X/ J' \! [: `# q7 d8 h
# Allow asp.net scripts to be executed in the active example
: A( q! u3 y6 [+ |) T/ \ <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">. h( @1 X8 u) H: X8 }0 P
Options FollowSymlinks ExecCGI
9 t4 }5 d2 u \7 ~6 Z% Z Order allow,deny2 z, O+ C, L, S3 k
Allow from all2 H/ K4 m% ?6 ?7 i
DirectoryIndex Default.htm Default.aspx
8 U! Z2 ]% Y* `3 r0 p( F/ B! c! F </Directory>
' i0 _/ g; ~) H! a$ L
6 `( j f) `+ k0 @% ~ # For all virtual ASP.NET webs, we need the aspnet_client files
3 @. a3 r2 U d' o7 } A5 Z # to serve the client-side helper scripts.0 g4 B q1 ]( v/ k; m4 ^
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \# @: t& W" X, O, B/ L
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"' ]% s3 o+ N& x4 G0 ~6 e$ `
<Directory \1 W1 [/ W# W c) W/ E
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
" P3 J* h8 c7 \3 B Options FollowSymlinks! K( ~7 X# b" C( ?
Order allow,deny
; a2 s* }# J+ g# a7 n; ~9 o4 o Allow from all6 t6 v) ?6 M9 M- P
</Directory>
0 @8 Q/ b3 J u( Z/ D0 R: w6 Z
1 z+ |/ t- F6 |: [+ C {</IfModule>7 x7 `. L: F" @, a) u9 e5 n ]5 u
$ m: I3 V) @0 J6 ^7 x 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。& J4 S: \' S* B9 a9 s t+ s8 }
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。
( p' y3 M) L @1 @/ W' z8 w8 u6 E8 \2 l$ O" i
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|