|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。
2 M/ N& |% g1 C, i# j.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。/ v* m+ T2 g/ ?
下面就介绍让Apache支持ASP.NET的办法。! L% e+ k: k, H9 o3 m
. X+ { E+ r6 o) g
首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
3 U! O) o/ w' z3 p
% [- ~" O+ c8 M6 E8 | 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
1 W5 F! ^$ n- J$ U9 y& y" whttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi% ?" \% y6 \% O U2 v
具体的安装过程请参阅其他文章,本文不再赘述。( W; i& ^ a8 c3 D/ L7 _: M8 S
! I0 g- k; ^( m. @4 F5 ~ 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:- W1 o# j- v9 G
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
8 w4 r* w$ w3 B5 L2 [下载完成后双击打开,一路Next即可安装完成。
& f3 q( e" e7 h+ B/ i
4 f' Y2 ~% w* |( |4 S0 E3 i 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:- }# k) o3 B$ K
8 v" z; X: U, u. }1 N' E7 c- ?#asp.net
9 d) c; { p1 @/ U4 ^, KLoadModule aspdotnet_module "modules/mod_aspdotnet.so"
( X- @6 Z+ `8 C7 q: g, N- ~% i* _- w" C' q" I
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
, ]' t F) {' f" R. @ p licx rem resources resx soap vb vbproj vsdisco webinfo
" {2 O7 T' q0 V7 y B* e6 P" j; @
, [4 o2 ^/ ]8 T<IfModule mod_aspdotnet.cpp>8 i/ Q" e. x8 a9 H$ q1 n, q. m
! K& [6 p0 O) {$ n0 w2 B
# Mount the ASP.NET example application8 q' _; l/ B6 [( w; l, s/ L. }
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"+ X% J0 }/ F+ c* q% \, r6 E0 T+ [
% m7 B/ o4 z% r( }$ O5 z
# Map all requests for /active to the application files% i( T, W9 y; n& j# M& j
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"% ]; s* U! N0 D% ]/ H! M
/ E2 V/ q f% x0 t1 k- e: U& t+ y # Allow asp.net scripts to be executed in the active example
; c6 [; L- [% Y/ j. Z% F. | <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">' a2 r% B' X2 |' d
Options FollowSymlinks ExecCGI
( X& z# y: T0 u1 ?$ u Order allow,deny/ U3 x/ V q' H) E. {
Allow from all
O( F) e( x0 k* U DirectoryIndex Default.htm Default.aspx0 f& m8 L% \% Q# N
</Directory>
3 j+ P3 {/ G Y5 r
) P E' e" t3 k) r- |8 c # For all virtual ASP.NET webs, we need the aspnet_client files
' d% u/ @# w" b" V! @ # to serve the client-side helper scripts." Q; j( W( \/ O3 s/ v# u
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
. K8 g7 P- w9 E/ X "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"7 L8 g _) \1 M8 i
<Directory \
- Y; v5 \ `0 Z" |$ y) L4 ] "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">) K1 R! }- T0 g
Options FollowSymlinks% Z) V9 H- d6 @7 n5 i: r. }1 B7 Y. W
Order allow,deny# V2 }* X/ f6 S' x
Allow from all
# U1 w% N8 a, ~8 S; h# ~ </Directory>3 U. y% X# h+ L# A1 {# c2 K
' u- o7 Y$ _/ w% L- B+ y, D
</IfModule>
8 _& c: \6 J; A( m- a6 A
: C- ?. h6 T2 w" H7 t: O2 } 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。: i; a' R& M# V7 {) K" y
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。) e6 ]) D3 m! T" d1 ~* L) g
, S6 c( R( l# x4 L+ p 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|