|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。; E/ M2 J" `/ j8 L' {# \
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
) k4 `* r5 P- ]( P" _下面就介绍让Apache支持ASP.NET的办法。
/ \8 l2 p4 X7 e1 ~! y3 O2 B4 Z
3 d- l) ?# X* U 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
6 f+ S' c$ ]& S. B3 [& Z
7 k3 o" d0 b5 Q& G% o9 X. _ 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:2 @ e7 j# P7 V8 h. L* v$ I" Z
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi5 t. G! _$ W6 S+ o, j$ y
具体的安装过程请参阅其他文章,本文不再赘述。4 s4 {* ?: p V- G: K/ I9 F4 k
3 s0 r c# N9 b9 o8 [ 下面要下载并安装Apache环境下的ASP.NET模块。下载地址:3 n6 x9 L, a- Z7 G- H6 N
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi- w& D+ t8 E- z% |7 j
下载完成后双击打开,一路Next即可安装完成。- W& z% C. T7 |! m @
0 l+ j) W' b- @% m 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:' e& z% R* Q1 x
! g% l4 Y7 a U, S" u
#asp.net
. z' G7 y" e; \* R* x$ C z# i, z/ ZLoadModule aspdotnet_module "modules/mod_aspdotnet.so". _& a; `2 Y0 `2 d2 B
# f" x$ ]! r8 x+ }) zAddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
7 J G& q: f& g0 M1 f; l# a; Y! Y licx rem resources resx soap vb vbproj vsdisco webinfo
h2 O0 c7 g' R7 X6 L4 J7 q- V+ T6 i$ B+ \
<IfModule mod_aspdotnet.cpp>9 l! ~4 M, g1 u; [3 [
5 o: d7 v# i4 ]: b8 h # Mount the ASP.NET example application( C9 N, }; ]3 U2 M& ?
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
! X7 u% j3 J, Y/ M1 r/ O( W) M* i- R8 b2 m4 p2 U* ] [
# Map all requests for /active to the application files2 }0 K; Y( Y1 l9 ^& }. x) E# }
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
( }9 [! M3 e; N3 V
! _9 C+ n$ ~6 l# ^ # Allow asp.net scripts to be executed in the active example r0 p* I* x! X9 ^% o
<Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">% D, J4 d/ ]$ j
Options FollowSymlinks ExecCGI$ q) ?0 t: {6 p O( v# u% F
Order allow,deny
. T, K) S, S6 E- y Allow from all z2 F1 a( ?* \
DirectoryIndex Default.htm Default.aspx; h7 X, D1 {" K m4 a
</Directory>5 V4 p6 c& ^+ T( n8 g0 R
6 r4 A3 ^4 l {. S' G0 d. l
# For all virtual ASP.NET webs, we need the aspnet_client files + j; E8 k! {& Z: v7 c' B
# to serve the client-side helper scripts.
/ j6 R& [8 q% b0 c# X7 r& t, h AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \7 ^) ~, S3 ?" D! i
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
( o. B) L; ?4 \+ V8 L <Directory \
4 W1 C- `; x' {8 @0 `1 Z "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">! {4 ]+ l9 e4 B( K
Options FollowSymlinks+ |0 @6 w$ ?) f8 `6 s- z
Order allow,deny
) o2 O5 V5 g3 D; A7 a4 w* H* j Allow from all
- ~/ j3 e7 n: a$ K$ Q </Directory>
+ e. {" W0 L1 t- r; X
1 |1 ?5 Y" S6 B, W</IfModule>5 U' H0 l4 Q Y, B0 v* I
; O2 }/ H- @) K* g2 C
其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。
" K5 a! z% q" o( Y现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。( R! z6 _9 @0 f/ _7 d
; X$ q2 u! K2 [3 h* P 由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|