|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。
: q; o- k+ `) D4 _4 A7 m7 C.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
. a" |! X! W% |6 |! W下面就介绍让Apache支持ASP.NET的办法。) N& b- }% M1 \+ f+ ]
# ~* w( o _3 v 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。6 i# X1 }* ]) P* W: {' _, ~
/ E+ E, s- i$ [* @" o* Z# N
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:' ~: e8 @7 l8 d+ e8 J) j
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
$ s/ o5 C9 M0 z9 ^" ?具体的安装过程请参阅其他文章,本文不再赘述。
3 D6 ?2 r; e9 H3 S, }6 P9 _$ Y8 f/ Y3 D8 O! [
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:. p+ M. K' D0 G0 k8 w. l3 ^. {
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
. p* A! p: ~' x1 \7 z5 W下载完成后双击打开,一路Next即可安装完成。
- L( V2 J+ A+ s! {6 c/ x b. }% s0 r7 H3 T7 S7 k. l8 {" P
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
" @5 [# C9 e$ C' t, W6 W$ H# `
7 ~# j9 o7 W8 Y) n$ i- B6 R#asp.net d1 \1 C3 H& `4 f6 V! }
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
) ~; j; @% B! j) p
- n4 I9 q, ]( l# v) @4 m" jAddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
. H) v. }- `3 q# \/ S7 ^5 H licx rem resources resx soap vb vbproj vsdisco webinfo % V o* G h! {1 v5 P
' V: S% K, u$ A; h1 k4 n7 r' O _
<IfModule mod_aspdotnet.cpp>
6 ]# r- C% V0 b( ]8 j
0 x6 ]7 H" b1 q9 `6 i6 A( V5 Q # Mount the ASP.NET example application: w( W( c, O( G( g
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
' ]7 c6 l! c8 Y. G; ?/ j, f. M0 V! o2 y! M3 H' H e1 y3 L: [
# Map all requests for /active to the application files; z8 f6 y5 N" K
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"+ E- l, C3 x2 J! o' E6 X, U
. t7 ~, v4 A9 |$ w% D
# Allow asp.net scripts to be executed in the active example
% e( N! y q) t( ^- N <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
( L7 g0 A5 p) A Options FollowSymlinks ExecCGI
1 L3 r3 g) ?7 Q8 k, @0 K/ d Order allow,deny
1 L: u8 B# S$ X$ r: U/ | Allow from all1 b( i! I1 ]% h! I/ p% `/ x2 v
DirectoryIndex Default.htm Default.aspx
' l3 H8 J$ H( @2 @' ^1 g+ d0 Q% s </Directory>+ }1 P8 ^2 i' C
: C" v7 e' {% \4 P+ k, _( S% } # For all virtual ASP.NET webs, we need the aspnet_client files
% ~8 z- e; l$ O, P' ? # to serve the client-side helper scripts.$ k7 |% k! e$ r0 a/ ?1 Q
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \9 T$ d5 u7 I. v* N! X! x
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"9 T+ I( o2 V2 O) F% O5 N0 ~
<Directory \# q/ W2 q7 m/ _( ]) f2 ?
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
3 A4 S. h4 u" J Options FollowSymlinks
8 K+ y$ n8 e: e9 V# e: Q1 z Order allow,deny
( z- e1 R0 w' a; j. D) y3 K, W% X Allow from all! Q B% k/ _6 m e' d
</Directory>
, q4 T/ [0 K# H5 v7 C+ u0 w: `. W/ e: c* r1 A
</IfModule>
: _5 x$ N: N3 U# g B, ^9 F5 ?& H8 ^9 \8 S2 h: Y
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。' S; E- S' ]$ B/ Q3 a' c& f
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。
6 i- r$ v# I: [+ t) a1 J) m: J
0 C: ^7 t" p$ W0 a. H g" X 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|