找回密码
 注册
搜索
查看: 5554|回复: 0

让Apache支持ASP.NET

[复制链接]
发表于 2006-12-17 18:33:15 | 显示全部楼层 |阅读模式
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。
4 q' S; o' n3 D: b3 F! [.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。
7 o. |9 H0 t% a下面就介绍让Apache支持ASP.NET的办法。4 K( t% g6 ~6 _* @5 X9 i, S
' q$ ?* K0 u* ^
     首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。6 u% f2 N- ?3 W% ?+ ^/ H

1 K0 p! Z9 c7 F. H, ]     然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:% _# {0 j9 E0 N2 [
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
( \% M; B' {+ ?  ]: x8 j/ s* B1 ?具体的安装过程请参阅其他文章,本文不再赘述。& c6 R" q) [2 h" i

; X/ K! E% f; E) d     下面要下载并安装Apache环境下的ASP.NET模块。下载地址:
0 \/ k4 P0 h( _9 k2 k6 H% X( khttp://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
" {+ f3 j4 j+ Y$ {' [# O/ H- z下载完成后双击打开,一路Next即可安装完成。& f2 E+ r2 v7 e2 H5 |# n4 }/ Q

8 Y( h) q5 Z" i: f5 G, }/ _     为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:" E  C$ w+ [0 M: g

  J; }% i& \0 H, M#asp.net
8 n! |4 G1 Y/ T% o# [( tLoadModule aspdotnet_module "modules/mod_aspdotnet.so"1 ^* m: p5 M- k1 @6 g5 ]

) w) I0 G$ a' t# @+ ~AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \0 C0 U2 f/ s1 k. N
            licx rem resources resx soap vb vbproj vsdisco webinfo
: l( N( r# V0 |. G* ?% V- |% u, [2 x  h0 L- V, T8 I
<IfModule mod_aspdotnet.cpp>
- M; P- G, ^0 D4 V8 w5 Z' G! `/ }' O1 r$ o! G* m% e
  # Mount the ASP.NET example application- b0 F, q+ Q4 _+ T4 I7 t  y2 ~
  AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
) o* o. ~( L' C/ ^6 s
: w9 i+ y7 E! Q1 e- b& r4 o  # Map all requests for /active to the application files
8 c' W/ q. N2 D% ^" w  Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
, H6 [; J2 d% `4 p; ^+ G- ]
- y5 [) f3 o0 c2 m  # Allow asp.net scripts to be executed in the active example
" u% i* v; e9 N9 m- {& p* E7 F  <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
2 C+ F$ Z; C8 g    Options FollowSymlinks ExecCGI! J# p# ]9 g# l2 V- c) [
    Order allow,deny) t3 L' ]# h- K2 I2 u& c5 g
    Allow from all- z/ [) {9 k: K$ V, z' d; S& k
    DirectoryIndex Default.htm Default.aspx
' J; e* Q  B5 f6 u& Q: E  </Directory>5 G6 }: m0 v: i' B

$ N( L' E# i% h8 f4 H' b8 q+ s% l  # For all virtual ASP.NET webs, we need the aspnet_client files
% W; V; _0 J9 X; n; U  # to serve the client-side helper scripts.
1 F+ Z) s# C$ z7 y2 j$ J. ?  AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \: f0 r6 C. U9 ~( A4 e" e6 Q+ }
      "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"* n4 G- p+ r* b" x: i, R
  <Directory \
% U; K+ |8 X* e2 I( a* K      "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
* f; I  c" s2 x7 \- }    Options FollowSymlinks
$ f1 E- c( y  D, x    Order allow,deny
( N8 `0 g( a1 k    Allow from all
; w) A  ~+ F2 i2 O  </Directory>
: }6 F7 M* k; R3 m9 e
7 u& Y; i' j% g9 k) h</IfModule>. x  m( n0 q8 o$ L; a5 s
# Y: \, u  G" y; p( R
     其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。# D- J/ p9 q/ m2 o( x' \
现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。0 u9 f) H8 W  B: H! S& X

% e6 u, f! G" |9 J& G- q2 x     由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-11-22 11:49 , Processed in 0.018240 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表