|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。% J2 g% M5 y- } T v- c# u8 @
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
, e) ^" Z* {* p6 c0 i下面就介绍让Apache支持ASP.NET的办法。
: r/ R6 e7 P. S3 P& n1 [8 S& I
7 Y- E# I3 p' n l 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
5 m) b( K6 ~0 `4 @& k( f$ O5 v- d/ C2 ]9 I0 v( d& S- c
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
) w- Y: [# [2 Ohttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
0 M2 T2 `% ^, \- X7 g$ } P+ ~具体的安装过程请参阅其他文章,本文不再赘述。
1 g1 D! @+ Z S* ~5 a! a0 _$ p8 \# x3 ]. J, g/ N
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:3 a$ D0 X( e9 u; Y
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi. ~5 q4 r) L/ G7 f6 A
下载完成后双击打开,一路Next即可安装完成。7 H6 P$ V5 b4 q# p% l
6 c7 R; l' j$ c- B/ W7 O' A0 N N0 T
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
% p( m6 t) w, G) B+ w
& _( M0 o+ r$ ^6 C$ q#asp.net) ]: w4 J8 o4 w; K' D% e, l. O5 d9 [
LoadModule aspdotnet_module "modules/mod_aspdotnet.so") |8 T8 m: m0 \# p% m
; a u* W# y- u" g
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
1 ~- A+ o( Z5 E% V4 Z# d9 T licx rem resources resx soap vb vbproj vsdisco webinfo
y0 |+ F+ R: J: o% s2 B
# [0 f9 ?1 f* E( V<IfModule mod_aspdotnet.cpp>
" G+ q- S6 X8 @9 n& b8 U$ F. u+ F Y7 Y Y) @5 V3 g& `/ w! {7 `* b
# Mount the ASP.NET example application; {5 b+ X$ u Q" G4 O) s" X# f! ~- n
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
5 d) ]2 p- ?! w" Q0 B7 @
& `# O% X: E% b7 @& u # Map all requests for /active to the application files
2 {/ \, Q0 A' V9 A6 h: k Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"6 j) {* N( L4 s: g5 M
2 _3 ?. c1 \: E* Q A1 c/ l # Allow asp.net scripts to be executed in the active example
5 f9 f2 T# S0 I2 P) Q- l# | <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">; k0 c- G l* ?! @) L( t3 J
Options FollowSymlinks ExecCGI* \3 i& I& P, o. p6 a
Order allow,deny
& V! Z& e: O: g/ H2 X2 V0 _ Allow from all
& L- m" i- \& @: I# R( z7 r DirectoryIndex Default.htm Default.aspx* }8 L: s3 C* R3 Z% o+ x
</Directory>
6 h9 d# L9 Z2 a& j- _, w* v, W1 d' e5 p2 B9 q3 h% o% A
# For all virtual ASP.NET webs, we need the aspnet_client files
+ ~( }$ G# k& I T6 ? # to serve the client-side helper scripts.* m8 t4 | _; ~5 X ^0 {- @
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \. k" w. `% v+ B- N: w/ l. W
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
+ m' }& l: {4 m1 @- |- e2 G! t <Directory \
9 F3 v8 C/ f0 [ "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">2 l9 R0 i3 c& M6 V8 P/ X5 D
Options FollowSymlinks4 v: Y( Y9 u: H K# f
Order allow,deny
5 t; A y% t6 G" j9 M Allow from all" J$ D. Q, G7 x$ Y7 Y& j
</Directory>
" j+ u0 c8 K; @, F8 R
! p J) y# B# A! l- s* T' K! b x</IfModule>' d! B' x8 b U, Y% L. T6 Q
, e# w( [& m. Q$ a 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。# Y4 c, c6 _3 i
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。9 z) v8 ]/ [7 V8 E
. [/ `" v- D5 M% { 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|