|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。
4 q' S; o' n3 D: b3 F! [.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
7 o. |9 H0 t% a下面就介绍让Apache支持ASP.NET的办法。4 K( t% g6 ~6 _* @5 X9 i, S
' q$ ?* K0 u* ^
首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。6 u% f2 N- ?3 W% ?+ ^/ H
1 K0 p! Z9 c7 F. H, ] 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:% _# {0 j9 E0 N2 [
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
( \% M; B' {+ ? ]: x8 j/ s* B1 ?具体的安装过程请参阅其他文章,本文不再赘述。& c6 R" q) [2 h" i
; X/ K! E% f; E) d 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:
0 \/ k4 P0 h( _9 k2 k6 H% X( khttp://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
" {+ f3 j4 j+ Y$ {' [# O/ H- z下载完成后双击打开,一路Next即可安装完成。& f2 E+ r2 v7 e2 H5 |# n4 }/ Q
8 Y( h) q5 Z" i: f5 G, }/ _ 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:" E C$ w+ [0 M: g
J; }% i& \0 H, M#asp.net
8 n! |4 G1 Y/ T% o# [( tLoadModule aspdotnet_module "modules/mod_aspdotnet.so"1 ^* m: p5 M- k1 @6 g5 ]
) w) I0 G$ a' t# @+ ~AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \0 C0 U2 f/ s1 k. N
licx rem resources resx soap vb vbproj vsdisco webinfo
: l( N( r# V0 |. G* ?% V- |% u, [2 x h0 L- V, T8 I
<IfModule mod_aspdotnet.cpp>
- M; P- G, ^0 D4 V8 w5 Z' G! `/ }' O1 r$ o! G* m% e
# Mount the ASP.NET example application- b0 F, q+ Q4 _+ T4 I7 t y2 ~
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
) o* o. ~( L' C/ ^6 s
: w9 i+ y7 E! Q1 e- b& r4 o # Map all requests for /active to the application files
8 c' W/ q. N2 D% ^" w Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
, H6 [; J2 d% `4 p; ^+ G- ]
- y5 [) f3 o0 c2 m # Allow asp.net scripts to be executed in the active example
" u% i* v; e9 N9 m- {& p* E7 F <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
2 C+ F$ Z; C8 g Options FollowSymlinks ExecCGI! J# p# ]9 g# l2 V- c) [
Order allow,deny) t3 L' ]# h- K2 I2 u& c5 g
Allow from all- z/ [) {9 k: K$ V, z' d; S& k
DirectoryIndex Default.htm Default.aspx
' J; e* Q B5 f6 u& Q: E </Directory>5 G6 }: m0 v: i' B
$ N( L' E# i% h8 f4 H' b8 q+ s% l # For all virtual ASP.NET webs, we need the aspnet_client files
% W; V; _0 J9 X; n; U # to serve the client-side helper scripts.
1 F+ Z) s# C$ z7 y2 j$ J. ? AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \: f0 r6 C. U9 ~( A4 e" e6 Q+ }
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"* n4 G- p+ r* b" x: i, R
<Directory \
% U; K+ |8 X* e2 I( a* K "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
* f; I c" s2 x7 \- } Options FollowSymlinks
$ f1 E- c( y D, x Order allow,deny
( N8 `0 g( a1 k Allow from all
; w) A ~+ F2 i2 O </Directory>
: }6 F7 M* k; R3 m9 e
7 u& Y; i' j% g9 k) h</IfModule>. x m( n0 q8 o$ L; a5 s
# Y: \, u G" y; p( R
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。# D- J/ p9 q/ m2 o( x' \
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。0 u9 f) H8 W B: H! S& X
% e6 u, f! G" |9 J& G- q2 x 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|