|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。5 p: O2 C- F- C$ f, _
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
" V% I7 U) u4 g6 p7 Y+ G& K* O下面就介绍让Apache支持ASP.NET的办法。! L5 K1 M% O! U: p& N
3 A* E/ f0 Q4 U: c9 { 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
. r. u" w3 R# K/ }% x( I, ^$ T6 g
; V7 i9 v1 {( T4 d) d5 v. | 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
' ~/ D6 N3 I) S3 Zhttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
4 J. F8 L W7 ?# H0 b$ [2 Y具体的安装过程请参阅其他文章,本文不再赘述。
% @/ a; W& |$ d! O% x* c
% X; ]4 S0 P4 S/ z5 g, d 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:; C& R) h1 U6 T9 M) H7 M$ X* X
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
2 h$ S0 z9 k. s8 p& X下载完成后双击打开,一路Next即可安装完成。* x! P+ Q4 w7 `- f/ X/ c/ T1 @/ ]
1 q; b* K9 f z 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:3 u5 T" T: o$ N8 X3 Q4 }
3 l! t7 R7 j: F: n/ z#asp.net2 s4 a- y f/ L6 q' w
LoadModule aspdotnet_module "modules/mod_aspdotnet.so" [. B$ C" j2 W m/ j
. b2 @6 e# p0 E N5 R. @AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
" s# L0 V: s% h5 t/ ` licx rem resources resx soap vb vbproj vsdisco webinfo
" W" S) f5 T/ z% X& _& ]! K# R6 ?0 A" ~
<IfModule mod_aspdotnet.cpp>
6 v0 k' G* R+ v6 z7 r
. V" ^ y6 A/ a2 ^$ h" q+ e. _ # Mount the ASP.NET example application5 s# N F( _+ E% X4 y
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
" h5 f4 c3 n2 ^5 Q0 _+ H& [7 g7 H/ K. p* ^: i% S. _7 l
# Map all requests for /active to the application files
: U. C6 p0 t0 j3 w$ N1 Q0 f! r Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
! y" l. R! K8 q% E g8 Q
6 y- u: N5 v0 I8 {0 C # Allow asp.net scripts to be executed in the active example z: V3 F0 \/ l& S: h) C
<Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
; P% h& j( e1 U4 j) `& T; ] Options FollowSymlinks ExecCGI0 E8 S+ W8 _( D' Z5 h0 \( h
Order allow,deny. @$ T, m `7 S6 H: L" |
Allow from all/ o: t; X0 F, a2 d" S* N
DirectoryIndex Default.htm Default.aspx6 x$ {( C) v4 T; F0 L/ p v9 @$ A& ]6 }
</Directory>
" P, J2 ~; `7 T7 X1 p& i1 \5 I
# For all virtual ASP.NET webs, we need the aspnet_client files
$ g1 a7 c5 z# w# k% e. `/ Q/ J # to serve the client-side helper scripts.
$ q, a3 a/ A' i2 I# m! E5 t AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \' g4 v0 U9 `* U
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"/ c& ] L0 N2 v
<Directory \
5 D3 B( | r% V' v$ {: m; P* N5 k "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">$ k' l3 m) } U# P3 b
Options FollowSymlinks/ t% T7 I! K: K. I: d
Order allow,deny( Q) r5 i5 b7 E }
Allow from all
3 c, W, q9 i7 y: v' X' h </Directory>
5 A. p! r2 Y% X* H- X7 ]1 v- x* X) M* \5 T
</IfModule>1 J. q' U, F5 Z; {) }/ ?
8 j1 g% X4 i8 C
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。; g; R1 I! K7 p: O! x
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。 I5 B1 X' K4 o9 M: }
F; b1 K- b0 l+ m
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|