|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。" H z! T2 P- O O3 ^
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
; z) g6 j9 D2 U" }8 O' P下面就介绍让Apache支持ASP.NET的办法。
+ y- }# I( a. R- p2 I- K6 F( L" E5 G+ D' m& o
首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。& e1 q; M5 u4 j+ ]# j# l
1 ^5 P! A0 F& Z# m9 z* Y# ^' f9 r
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
G$ x2 d) E) g$ mhttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi+ ~" [. m6 v$ G
具体的安装过程请参阅其他文章,本文不再赘述。
1 Z5 `- S2 C; a
6 ~. [. v) ^4 c! m7 z0 S" c ? 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:
y7 S( b: N% n1 y; H5 l8 d1 q1 ehttp://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
) N1 R4 U9 S5 |% k1 w) _3 P下载完成后双击打开,一路Next即可安装完成。3 B* R" \% E) Y4 {' K) d1 I# ]
$ K) z. ~, R/ Q9 ^+ p( R
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
1 c: `$ n' m& f0 Y; `2 ?1 ?# L ?/ K- L% X1 H0 Z) ?8 z
#asp.net
5 b* G* ~ q! bLoadModule aspdotnet_module "modules/mod_aspdotnet.so"
+ V$ U) W# R1 m2 { [1 T( o4 `" Z0 j, \: i0 ?
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \2 Y# B% O2 E% z( l9 t: [( I
licx rem resources resx soap vb vbproj vsdisco webinfo x3 H; X h" c7 K% ^7 F
/ Z; h2 g) u/ j' o<IfModule mod_aspdotnet.cpp>0 W4 x; S7 V, w9 U- q
8 \ D( k M. M- ]8 ^/ `
# Mount the ASP.NET example application
; ^' G; c# V3 y' f4 r: D' [ AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"* [1 v4 I2 c% a% w/ w
5 ?0 W+ X, b F3 v# }$ s' c
# Map all requests for /active to the application files7 r3 |( t9 w; K8 |% N2 r
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"" D) s. A7 o* q
G3 n' b6 V) G# l' b' U7 ? # Allow asp.net scripts to be executed in the active example6 J5 k3 }2 ]( u2 Z0 k
<Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">% [: l* o1 @7 _6 F' K
Options FollowSymlinks ExecCGI$ r+ s4 J) }2 E) |' X+ v6 L
Order allow,deny: j F) [6 _# f9 p$ @. t( s/ C3 [
Allow from all' ~: ]0 K7 d3 k% N
DirectoryIndex Default.htm Default.aspx
) X# Z4 x3 w7 n. P/ C </Directory>
( n' J, y3 J2 O) X
% k7 q% I; l# k( B* H9 s$ I8 H # For all virtual ASP.NET webs, we need the aspnet_client files
8 c3 N n; J7 D- ?0 k: @& o # to serve the client-side helper scripts.
( {* j5 u% a3 Z. C AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \6 L% o) a2 O5 `. f0 Y8 [$ }0 X; i
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"+ }" ?' M! v3 j F9 p, ^
<Directory \9 J2 P3 m- p$ E; \" i3 Y
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
. U. L! t8 b7 [' b Options FollowSymlinks
# x- ^1 e0 w; m( B* o! u Order allow,deny
|/ K+ U2 F% H: t4 ^ Allow from all
1 r8 v/ A( u5 z+ g </Directory>
7 Q6 M: K9 I7 O( W1 e1 |+ i% l+ Z; D9 H1 s, b6 D' X9 }; X9 U
</IfModule>! }( U) e) n# G: L9 u
; J* v- O( I, l! T% \
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。$ s" p$ j% e8 D2 [% s/ I
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。$ R7 j- W+ j: L8 q* e% W( P
9 S' s9 |" G% }8 U0 p4 @ 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|