|
|
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS而转向Apache。/ ` A2 u; K! j; t. v
.NET是微软推出的功能强大的开发技术,其目标就是与Java抗衡。ASP.NET非常适合于中小企业的Web应用,其性能较ASP3.0有了极大的提高。# p8 r( A, Y- O" U" B' p$ F5 R
下面就介绍让Apache支持ASP.NET的办法。
' o, N9 O }" t) b( g; a9 n% g: \) P7 O" O8 j0 ]
首先,必须要有Windows环境和.NET Framework的支持。此外还建议安装安装.NET开发工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本应为2000、2003和XP。Win9X系列不能安装.NET Framework。5 g+ g; O+ k [( D
* r' o( T$ T2 {$ V- G 然后需要安装Apache。应该使用Win32平台的Apache,版本2.0以上。推荐使用2.0.51版本。下载地址:
: S$ O2 }+ ?1 Whttp://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
3 h; y* m5 `# S; W; j4 }具体的安装过程请参阅其他文章,本文不再赘述。0 U8 `, A( I- A. U
4 M% p1 ^) o8 L R4 h$ ^' B
下面要下载并安装Apache环境下的ASP.NET模块。下载地址:
/ P2 f, h+ h0 W8 q! F% v* xhttp://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
" Z0 ^# V: t. `& _8 H8 ]下载完成后双击打开,一路Next即可安装完成。$ b5 Q' [" H# w" ?9 W' v
9 [1 }* V( Y3 Y- p: v3 d; g, m& O
为了便于管理,我们在htdocs目录下新建一个active目录,专门存放.aspx文件。现在需要对httpd.conf文件作一定配置,在文件末尾添加:0 }1 x' u" e6 u* `8 T! q F
) q3 O7 a: ^* d5 f7 J#asp.net
5 Y F% d: z. Q9 H6 |) a) K- G1 mLoadModule aspdotnet_module "modules/mod_aspdotnet.so". X) o% d/ o8 p- _
S- ]6 b# ^- U; H; V9 ?6 W
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
! z" p$ K! u! g Z+ W! c3 c licx rem resources resx soap vb vbproj vsdisco webinfo
, s; j0 {, B& f) I# C% D
J# M( S+ j9 l d1 g4 P# M: n<IfModule mod_aspdotnet.cpp>, ~; q9 g; Z1 [
8 z! \/ `( h, _- y% F # Mount the ASP.NET example application7 s3 O( W* a! e% m/ k; Z
AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"
* C; H* H% @: b' ]9 A7 u- r" f* h
- x1 K' f8 E+ |$ G # Map all requests for /active to the application files
3 J d! C. M4 B. ^8 `9 C Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active". Y* K5 V$ U7 G9 m6 C& Y
7 d* N8 U8 F7 f3 u: V
# Allow asp.net scripts to be executed in the active example
1 _7 x: h$ n+ M0 s6 h; F <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">; @3 ?$ e8 _/ X" h5 ~
Options FollowSymlinks ExecCGI
6 [, E! G: L4 K' N. ? Order allow,deny
2 Z% Y5 u5 A" ]; f! t% s* f Allow from all
) E: |1 p! r; x0 ~& B# X DirectoryIndex Default.htm Default.aspx2 s( s0 Y3 _6 v6 d+ j# p
</Directory>) l# }+ I& a) U$ d9 u) k1 K9 [
# u" B5 [& R6 v) h+ J* K4 u3 K6 o# w # For all virtual ASP.NET webs, we need the aspnet_client files
S- G. E6 P7 U0 u! z! a # to serve the client-side helper scripts.
- B3 I* i. D, U6 o AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \. C5 D; K% O6 O4 }" I5 t- }
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
+ c$ i; J, a( M# T% y' l <Directory \5 c* N: U' G, j5 `# Q; v& R
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">4 f& ~, i1 U" ^4 e* p* R
Options FollowSymlinks0 l9 ]0 h9 H6 t' x
Order allow,deny( a0 i8 L" X) @0 ^& A @- l
Allow from all. \& M5 _& y+ s* E
</Directory>
. s9 o9 p( N; e5 A* }( ~, j. x
</IfModule>
: r6 Y+ j2 [1 d
3 n- [4 e2 i0 _8 N7 z( @ 其中D:/Program Files/Apache Group/Apache2是Apache的安装目录,应根据实际情况更改。
/ C, o K& Z4 E2 f. K现在可以在active目录下放上ASP.NET探针。重启Apache之后,即可体验Apache下的ASP.NET了。" T. x+ Q' @, a( ^6 q7 B
1 y! j2 M7 L( d
由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CRL)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。 |
|