|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。; V( j9 W8 Z' k6 z+ Q) g
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。1 ?+ v4 b) n+ u8 G/ z/ M
下面就介绍让Apache支持ASP.NET的办法。$ E) C$ A- h; y- R3 G% p/ B
1 F6 t" H7 u3 A( M g 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。" d/ X3 w) v. P" F/ L1 R+ e
7 l; j4 g: _) m% S
然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:1 O6 w* l* C6 A
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
9 r5 q$ s0 R' R6 S& ?具体的安装过程请参阅其他文章,本文不再赘述。
& J& q$ p! l. B) F4 y# X
5 c6 @% f( Z% {8 B: r 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:2 S3 \, `* P# ]2 B+ s
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
3 w: w% e) _& v, i9 i1 g7 G, q下载完成后双击打开,一路Next即可安装完成。
8 E$ `8 Y0 L: X" O4 c
9 P1 Y4 y8 ^* @) Z 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
+ t" Z2 t m+ D/ U0 I. A2 f
- a3 Z3 [1 p# w) U* |2 j#asp.net; O& [9 a0 c* I* `/ ^$ B
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"0 ^; W( {: S; }0 r1 F# p7 p% I/ {
, g' n% m; g% D& X8 [AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \ [* v) W6 G" S n! T6 {, d
licx rem resources resx soap vb vbproj vsdisco webinfo
2 `% H, O! |* k! v% r4 {
# s" i4 n: A/ t0 I+ x$ h6 n: z* _6 g<IfModule mod_aspdotnet.cpp>( ]6 |# P9 D$ J, [( S. J9 V R
+ r9 _ ]( Y: [! f$ X' w5 U- }2 G # Mount the ASP.NET example application
' a# Z0 h9 [# R! s/ X/ ^8 R- K AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"1 W8 P& G2 N l% d
% m+ B/ a' o* ^. s* g # Map all requests for /active to the application files
% j: M* s* x$ j. {3 |- p. S4 P, z Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active": n7 b$ Y8 r0 O% V1 r0 d1 o5 O/ z+ }
' e: B: T+ R+ M" t7 o
# Allow asp.net scripts to be executed in the active example
* @2 q2 d, t p/ a3 C$ M <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
8 ]3 g( a/ @ h' j) l& y0 B Options FollowSymlinks ExecCGI
# u3 b; n# c3 _2 n9 h: ^% B9 [ Order allow,deny; n3 z9 ^6 E' R# \1 z `2 G* u# S
Allow from all' a7 H( A& G! q2 N& F5 x$ h
DirectoryIndex Default.htm Default.aspx
( i% A! K7 q# O y; F5 Z </Directory>
. |' p b2 U3 X' C( p+ c& @7 `
6 x; x5 O) K/ h% @( \( O5 ^ # For all virtual ASP.NET webs, we need the aspnet_client files
( h; P1 l6 N U' M # to serve the client-side helper scripts.
, n# w/ \' ], P# D; ^9 R( ~) u K* g6 q AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
! a: \" G M3 J2 i "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
2 p4 {5 a% W8 T& i <Directory \
& e, T& a& z/ h+ C+ n, l5 ` "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
( H' ] h# c. G2 w5 ?# O Options FollowSymlinks
: \3 D' }& p& Y( ]) O0 Z Order allow,deny
" o$ e- w" O' y1 p h. h Allow from all
: Z, [- P2 l: k! p% h6 t- t9 p </Directory>9 l8 R, a! e/ [3 K/ i, h& F
+ t) V- [! D, y
</IfModule>
+ U6 v, G2 Q2 p) E/ w- \+ i0 v2 Q
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。$ `% D7 t, K; P4 T# N' u5 x
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。
" \" |% t, F( d3 S$ o; }4 B
& j7 u4 ]" Z# {2 b I: Y7 q7 ?5 Y4 } 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|