|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。
4 K {; B( b6 h0 P2 U5 d.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。: x8 [& }" l% q/ f2 P6 j% l
下面就介绍让Apache支持ASP.NET的办法。
0 ^4 K+ W( U) c
" K. m; Y5 l, O) u; w. q5 r 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。" r! o0 H# } P. Z5 e9 N! m6 Y$ g# `
J! r' r6 A6 O5 O 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:# o9 p/ c( R4 h) \- C4 L; z# S
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi. ]2 S+ P6 \) S- N
具体的安装过程请参阅其他文章,本文不再赘述。
: h# m" e, m& l7 L$ t ^4 s6 b& d" S1 [& H3 z
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:" ?& m5 f' y8 b7 L" \/ r
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
8 Q# S9 {0 C( d- }% j' l. n. @下载完成后双击打开,一路Next即可安装完成。) S. n2 M0 `; n2 u. L5 f
8 z6 m6 D* G+ O% d3 B3 G3 s/ A 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
% y2 U6 o0 i5 _ x( W3 ?* [
4 u8 C7 h0 s4 v B" c( A#asp.net
7 M. v- Z" p, L1 o8 ]9 w+ b5 HLoadModule aspdotnet_module "modules/mod_aspdotnet.so"
* q4 ~6 d& e2 ] U- W$ z' F4 K" L1 }& d
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
0 t$ e$ a6 E9 _% t6 m1 M, ~ licx rem resources resx soap vb vbproj vsdisco webinfo 9 k8 s$ C* H. O2 u
2 ?3 [" @! N% ]
<IfModule mod_aspdotnet.cpp>" e$ \! I) Q% @
# m8 K7 F' U" ~* D9 `
# Mount the ASP.NET example application
; V6 w% G4 D7 | AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"# X! ~ ?* }" Q! o
5 ?0 m- P7 {$ N
# Map all requests for /active to the application files
" V4 o* ?: ]8 `0 C Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active") y V6 ?8 N/ P) }/ V7 v5 K
0 s! k- u# M( w7 d* ~( Z" _7 K
# Allow asp.net scripts to be executed in the active example, p5 m# ]: g8 l
<Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">4 J: i/ M; z G9 \
Options FollowSymlinks ExecCGI
# S7 k1 ~3 h+ |( ]5 y* G2 R Order allow,deny
. d9 u( j% n) E5 w/ _ Allow from all" \( n8 f/ c0 s! d8 m
DirectoryIndex Default.htm Default.aspx' O" a g: E5 u& [
</Directory>, ]$ ^) u! x3 x8 i! }
$ W8 j. [& Y& y0 M. q2 a2 g # For all virtual ASP.NET webs, we need the aspnet_client files 7 e b; `. I7 \2 X, k& N
# to serve the client-side helper scripts.
7 J9 X+ a8 r' L$ X6 j AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \" V$ I5 |! e; B: g! T; ^. ?3 a. U
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"6 }' n0 [) N; T; u" r
<Directory \, D: _, M( E, \: A
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
$ [! f( n( n9 g4 T, k# R Options FollowSymlinks
/ S7 I+ e, @ k) x3 Y( s- @- c Order allow,deny
: Y9 p" Y. Q8 V. u7 W6 w/ j Allow from all
9 h9 x9 y6 m- Q) I; Z; n </Directory>
E( z6 r: A( j" b% P9 E( i
1 m4 [8 a0 b; j5 O/ r</IfModule>9 Y8 C+ f% V% o. B. Q; w! }
( M% b0 t: H% _! W9 [
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。
: P& K8 a! P& M$ z& ]: w现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。' q6 N" q5 { `' Q' E8 Z
/ T4 ^' I5 \" T. H+ x
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|