|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。& j; |' k8 L: r2 r4 `8 ~( G4 B! B2 `! m
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。1 M! z: n) V( ]/ u. ?6 A
下面就介绍让Apache支持ASP.NET的办法。
! i$ H; ]- B) K+ j' X% Z
5 f' z: h) _4 d0 @ 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
4 @/ y2 V1 B# `# U% J: l& H- Q
4 o4 v2 Q: k v4 ^, U 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
5 y: F# j6 v. ?9 N) [+ E _http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
# i3 B2 x! ^+ S具体的安装过程请参阅其他文章,本文不再赘述。
( v; U' g. ]2 r
d) N' e5 l" c 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:
( M& w/ d, i' k) ~0 j6 ghttp://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
# t3 |) |: O9 K; n. a8 u: s下载完成后双击打开,一路Next即可安装完成。" p4 @ l0 ]* I& h7 x+ J- [
( {$ n* I1 X: a( A 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
5 d6 S4 P' ]7 D* P$ T/ f9 A" U |
% [/ ?" h) Z5 z#asp.net7 O9 J3 b) ^& f* K7 w# L, U' y: B
LoadModule aspdotnet_module "modules/mod_aspdotnet.so", C. _' {; A) ]
/ Z( b7 ~1 I. C/ |- p, `
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
8 F3 Q) @7 `; E7 S( j- ?* | licx rem resources resx soap vb vbproj vsdisco webinfo
) b& I3 N6 r8 R
3 h* R7 `6 H+ f& D- }+ L<IfModule mod_aspdotnet.cpp>
- i: N/ P' J9 m* B0 O) A$ S5 H2 a* m8 O1 M: i' z. }
# Mount the ASP.NET example application/ G/ A- }5 Z. y3 P5 C8 l# V
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
0 w6 g( K5 l @. k/ z; U3 ^/ d, D9 u& B. q
# Map all requests for /active to the application files
; X K! ~4 x j8 h7 x1 H0 X$ [! y Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
& r) g4 ?2 x2 K- R; O% u% M, ?2 n* @; \! C$ q4 f* a P
# Allow asp.net scripts to be executed in the active example( g' P& z/ q% m! r5 X
<Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
4 T9 d, O7 K9 |+ z. c$ _3 s6 O) F Options FollowSymlinks ExecCGI `( c+ C! J4 j2 A$ |
Order allow,deny
6 O0 K7 R( ?6 Q5 o" f+ p Allow from all1 n1 t' h: P0 i+ [
DirectoryIndex Default.htm Default.aspx
& Y5 w. t& \+ v& t, [( C. _ </Directory>
( X( V" k# B7 E6 N* x# \ @( f) z7 p0 h9 J
# For all virtual ASP.NET webs, we need the aspnet_client files
/ D/ x1 `: A+ l8 g8 i # to serve the client-side helper scripts.4 W* |, |; y5 u) g
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
6 ?2 p0 ?- k9 W "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"1 q: E0 [. H2 N9 f
<Directory \
: _' [5 n& N2 P, Q3 p- m, M6 C) l "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
$ w# N3 X# T( p1 T Options FollowSymlinks
5 B1 t2 X5 r. C# S0 f9 C Order allow,deny+ \5 G2 z3 X) {
Allow from all! [* \# k8 Y2 I: ^' Z; z8 ^
</Directory>
# w$ l8 m+ j% i/ R4 H2 t# P E! C3 l1 @
</IfModule>, ?$ Y; W0 k+ i0 w
1 X- y0 x6 M5 M
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。) W: h# }5 ]) O3 h+ l( u
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。7 P/ O) u$ H" n1 |6 F3 ^% w
, w2 S, H1 i. V- t7 q$ R$ F 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|