|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。3 u' C6 c! m/ K |& v( b
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
; @/ x3 I W2 u* E7 N下面就介绍让Apache支持ASP.NET的办法。
# h. b4 M, R' E6 r- c; R" g; h8 l- U
8 ~8 C$ x/ |/ \5 Y8 R6 F% p! F. `. F5 e 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
' b# w8 h+ X: f3 W ~* p2 O$ u( A8 L2 a( f
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:6 X) W' l7 b3 w
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
9 K5 T0 |4 f8 q% D- n3 y5 j9 ^具体的安装过程请参阅其他文章,本文不再赘述。3 k9 f" t+ v; w* k" G$ \' L1 g
0 a, U. l2 K7 K8 b5 ~. G4 ~; { 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:
% q( a: y' |4 r" v2 ehttp://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi. j. N0 U- U7 p+ E; D
下载完成后双击打开,一路Next即可安装完成。: [+ g, }+ J0 E
, t0 E( S6 g# T% b% ~
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
5 s8 c: A7 |4 ~* ^, n. G9 w" p& t) u* ^* u# U, N
#asp.net& f3 x* k8 ]! B4 ]( i9 u$ r
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
) v4 p& N7 h* E8 e# }0 H8 G* c f" Y+ l+ f8 P$ E
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \; F8 Z3 J( y& ?, q3 L' }" y+ D, O% ?
licx rem resources resx soap vb vbproj vsdisco webinfo & O8 d/ a& E( Q7 |9 [! ~" h1 E
. w, S7 o% r) R6 X# O9 c
<IfModule mod_aspdotnet.cpp>
, _1 {' R9 F; A( o$ t
" c: F+ i2 i8 z4 R1 y( q( @ # Mount the ASP.NET example application. h `- h& z9 F( d1 M
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"0 b( {. n0 _6 X$ N5 S1 F8 ]
$ w) p0 `& N9 v+ |& ?0 K # Map all requests for /active to the application files. u/ N8 a. u$ c7 r1 `7 M* E
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"# K2 S; `. s4 e3 i$ }' w
7 g. j! G$ X) Z' R # Allow asp.net scripts to be executed in the active example
7 I L0 J% j' J" M% O: N <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
7 e2 |0 T& Q! Q Options FollowSymlinks ExecCGI
+ H3 A' l: `+ [: ]9 _2 v( C Order allow,deny5 _$ }7 ~$ i, l$ V
Allow from all7 A/ y ~! Q3 m/ L
DirectoryIndex Default.htm Default.aspx
6 f( ]) d. L0 s$ A </Directory>) S9 n# q( `" |1 v, }8 b: O
. B3 d) I4 _" f, j
# For all virtual ASP.NET webs, we need the aspnet_client files ' ?$ p+ m* A; t$ c3 c7 P H
# to serve the client-side helper scripts.( C. D; l" J4 m- a- E
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
" J T4 g* T) {' ] "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
6 V) U: E, F1 ~- R9 y0 W7 H <Directory \
1 Z, f/ v$ ]. ~( ~! ~% \ "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">/ O, S4 [( L8 R# L
Options FollowSymlinks
+ E. f6 T9 v" P Order allow,deny
! e" j. @+ u) d; J; g Allow from all& N/ r4 e3 I! W7 G# z
</Directory>* T/ i4 f* U2 }" X. @
# L7 D8 j) [: D) `! t
</IfModule># ^- B, o4 X5 S
0 o' D. C6 p2 v: | 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。8 u" M2 O. d. D1 c) I% m/ @
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。
% O5 w" y8 b3 p/ }$ d" v
$ O$ ^8 `* R, n; K 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|