|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。1 I) Z& J, u" s1 i1 `* }; _& J
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
7 |$ A' ]4 n# v. x下面就介绍让Apache支持ASP.NET的办法。
% w. x; y6 S8 O) L
) n+ W, w: \# a' t" [4 q 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
D$ J! V; O& r
) S9 L) ?$ g/ O, l3 z6 C5 g# S7 ` 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:3 `7 T3 h. h" ~& ]/ u
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
* G+ `* g1 [+ k具体的安装过程请参阅其他文章,本文不再赘述。
* t9 a4 ^+ f3 u! l+ O g; `; Z
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:! L" [# F5 z1 {3 N9 Y' C
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi# p- ~. a6 r& ?
下载完成后双击打开,一路Next即可安装完成。 G7 T! d+ r* n q
' |% T3 L: h) X- Y9 P- _, H/ B 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
" \: T2 L2 }3 ]2 W# ]
. d" H9 V& D7 f$ m1 q- t#asp.net
) h, r: ~2 [3 i3 y3 k9 M/ j3 KLoadModule aspdotnet_module "modules/mod_aspdotnet.so"
1 w: Z3 y6 Z. @8 ?1 P! Z( u( o& x
' V1 s0 F7 f# Y& ~AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
+ v; |( B. c, }- `7 l licx rem resources resx soap vb vbproj vsdisco webinfo * y3 A% |' t/ K. K8 B
% K& G6 y0 w. Q1 O
<IfModule mod_aspdotnet.cpp>
* g }5 @* [& N6 P% p3 R% G8 q
/ |/ h+ \, [' ]: W8 J # Mount the ASP.NET example application
' v! q# P8 ^7 j6 V4 E: [ AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
3 c) h! @9 q5 F2 ~/ p
+ A# W4 C6 O$ q; F I" Y# h # Map all requests for /active to the application files
; Y& a; D S3 o/ e! }) H Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"6 F" U1 P# @' o2 Z) c
5 U% X% L+ O( [
# Allow asp.net scripts to be executed in the active example
4 r9 g0 A( L2 o& l# [. v <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">. Q- W0 F4 [( @) Q0 F
Options FollowSymlinks ExecCGI
' D; Y! I# p- t, `" f Order allow,deny
: T6 A/ P/ t8 R/ b$ q2 n Allow from all- w5 D: d; k6 q; @
DirectoryIndex Default.htm Default.aspx
O, G% v2 e# l8 d: i </Directory>
8 _9 U+ ~5 F N, s: r
: f# B5 l" a2 x: _ # For all virtual ASP.NET webs, we need the aspnet_client files
% E3 z! N" p' |1 N: \5 v) u # to serve the client-side helper scripts. H/ X* O% A1 o. n# d! B
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
- c+ g+ e# `$ @* W, f5 Q "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
, Q! V+ N+ O0 F) k <Directory \$ l5 o3 u. y- N7 z2 t- V4 M
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
* o: E6 s$ z6 ^- ` Options FollowSymlinks
+ n3 U3 i7 C: r" v9 Q& L, K Order allow,deny' E2 ]3 B$ b. h7 S) w- A
Allow from all+ f+ V$ w! q! v$ i1 `6 g K' m! i
</Directory>, n. d' U9 V6 v$ y3 g+ _/ g
2 s9 ~: ]) l3 B0 w' X( Y</IfModule>
8 b7 s: C$ Y4 X5 x
; H" C& P3 ^1 _7 @' a# Y3 M U 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。 {3 E! S; i- f9 h+ Q$ N
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。9 ?$ X: a# |$ L3 j1 @' @
' b* e& |1 x. L$ t; k$ y6 m% u
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|