|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。/ x& K: |# K, y
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。0 a1 s/ D0 B j0 z0 I0 X: o4 q
下面就介绍让Apache支持ASP.NET的办法。% b$ L# ?- A7 p5 V
- w7 I& ^5 h9 ?3 t 首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。
4 @( n, o! z/ L0 w4 T0 y
8 c" s; E9 j. J3 h 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
1 z" x6 T6 p1 ^: ahttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi6 g4 [! D: W L
具体的安装过程请参阅其他文章,本文不再赘述。
* ]1 y+ k$ N6 A' ~; I+ i" a: N- b7 e+ l3 x1 x. P# a
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:( m7 B7 w$ v' L1 _! X
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
0 M! y% z' C2 Y7 J" n下载完成后双击打开,一路Next即可安装完成。
1 t0 w. _0 s5 G( I4 A3 b5 J7 N' n
" P5 D b5 ^: j' j 为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:
' t" [9 }) t3 ?0 P
" ]$ s" \' G+ W% z- \# C, Q- v v#asp.net
3 L) Y! L) e0 @3 SLoadModule aspdotnet_module "modules/mod_aspdotnet.so"
! j k# [* @: @3 W+ V* c5 r! N9 i. @' U" M! @, g# A% I2 _
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \( K$ Q1 G/ {1 T9 B# ]/ `1 i
licx rem resources resx soap vb vbproj vsdisco webinfo
* Q* ]' y+ q. }5 r; @( M7 ~7 u8 C: m
<IfModule mod_aspdotnet.cpp>
, @- Z% r+ }, i
$ U2 X& o4 z j7 V3 J5 P, j6 j # Mount the ASP.NET example application
; m1 B/ ~; u$ D$ ?) q& Q AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
/ U% I- \! Y) [0 i( Z9 ]$ n: p- x
* f7 i9 c$ p) Y6 c p # Map all requests for /active to the application files2 q: R+ \( ^ A
Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
2 G; R2 E5 O# Z$ v$ s v) V$ Q( B7 `; K @8 W6 _
# Allow asp.net scripts to be executed in the active example6 G& k* q1 M" P ^# i
<Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
+ J- z8 `* V6 Q, F/ z" K5 m3 U Options FollowSymlinks ExecCGI
# s: c5 F8 m# Q" Q7 F! o' o# ?; n Order allow,deny
7 b: @2 v$ z; Y; y/ C, { Allow from all
/ m. ]/ A' B; o DirectoryIndex Default.htm Default.aspx) E( X; E: q9 V. ], s
</Directory>% T( W+ I" ^+ y0 @( |# j
' ]" D0 Q% p4 o
# For all virtual ASP.NET webs, we need the aspnet_client files
9 Y" q ^" _/ ^- w' C2 N # to serve the client-side helper scripts.
+ B. O8 ?# [9 `; ~5 O/ d: \3 | AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \/ ]! f! J& Y; b* G( ^
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
, d. {+ {/ z0 S M$ j. W4 T <Directory \
' ^" ^2 h/ E5 a. A- v. w/ P5 x "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
/ k( F2 G8 n, H1 q a) q0 g Options FollowSymlinks! ?2 d3 e& B+ o" o4 B) ]3 n
Order allow,deny4 r8 ~2 E% A P) F P# l
Allow from all
e5 t' ^8 K7 ^. t- k5 V% R1 n1 E9 a </Directory>
7 {1 j- H' {$ Q# B, t; T3 w) g( q) B. E8 t5 u/ L
</IfModule>) F0 W3 b4 u. w- s1 A3 ]- m
6 @$ M% w$ X2 I- U6 ^% E+ m6 d" Y 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。
5 {, l6 ^/ ?2 z1 [ f现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。
3 j6 b ?( Y+ D6 M, i5 M8 ~" u3 r! q& P, S9 ^% g; }
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|