|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。5 S3 R- B- R7 h: d" c k
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。/ J! `, k) _* ~5 o, K) W
下面就介绍让Apache支持ASP.NET的办法。$ X% ]! _' J4 ?8 G: [6 Q3 ~
. {, q2 K, G, q5 J6 b% c
首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
' g+ @1 z9 M- W# \* f- V- h
2 c7 l1 N1 W1 P! B8 W 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:1 E4 j( l- D5 K
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi5 C9 b( Q0 j. Q! v4 O
具体的安装过程请参阅其他文章,本文不再赘述。
9 r+ s4 |$ E' e$ ?
9 |6 j3 |5 {' w0 Z, E 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:5 \- o4 f9 V w+ `, A8 {
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
3 |4 y' N; F" p5 x, Y# u3 S下载完成后双击打开,一路Next即可安装完成。* L8 j1 L* s$ C( J k# U
- B9 N& |7 e2 ?8 _. y* j+ Z G0 P
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:& ~8 N: o+ [; O& \& }) t
+ q; m% g9 g: p' T) X* i! y#asp.net: [7 k2 k9 o% _
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"( i* K+ y: t+ E
/ Y I1 q2 K3 HAddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \8 Z+ e5 g7 Z( h9 E% a' \
licx rem resources resx soap vb vbproj vsdisco webinfo k. c+ f* V2 a; W( _* `5 i* O
]1 w0 g; m N$ A" k( u8 `
<IfModule mod_aspdotnet.cpp>
2 R: I: u" k8 y0 X
' T6 J2 d: p# @0 b! o* s* |6 p # Mount the ASP.NET example application) C* {/ \4 i: ~. d' ]) [# r
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
) L" b! K# n) j$ l. K( q* |* A, y+ W [- r- [' y$ O
# Map all requests for /active to the application files1 i2 e' x( ^6 p' M& S
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
& P2 |6 p N7 y- f% `7 k
, z! \# G+ ?9 q# {# H' K5 J8 a7 E2 y # Allow asp.net scripts to be executed in the active example
8 E+ ?7 W2 `- @7 g8 R: D6 ~ <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">" U L C! q% q0 E. G/ g C: D
Options FollowSymlinks ExecCGI
+ \* M8 O% h3 h/ I5 T Order allow,deny' ^* ?4 L% |) D
Allow from all- ^9 g; i" e4 S. K6 |1 c, T
DirectoryIndex Default.htm Default.aspx7 ^- [3 P9 B3 B/ b
</Directory>0 R$ ~' e! s* c! N) }4 x) p
/ z- N) d8 d2 ~( N # For all virtual ASP.NET webs, we need the aspnet_client files + P3 S) H4 u7 s6 A
# to serve the client-side helper scripts.
' }, o @0 F8 z8 P/ X( d' c AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
0 M' V4 u- r( x9 u "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"2 e: f* D# k! v5 Z) ^2 A7 b" `/ i
<Directory \
Y. ]3 L; K+ _3 q: r8 X "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
5 J, c5 @! ?$ M; A! \ Options FollowSymlinks: T9 K* r S1 \# Q6 o2 s" H
Order allow,deny' `; Y$ m, W' A2 o
Allow from all% [3 F( ?% R7 i! s! C; e1 A
</Directory>
. h: u" |6 ?4 N0 W) T7 y# x: X! T
</IfModule>
% r9 r7 r P: A+ D; U) ~* ?$ u$ H0 j6 p% ^3 A/ [0 G
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。
9 V7 T. ^$ ]+ _5 `现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。( ]& M8 Z" G4 x4 o
, z1 z- O V2 \
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|