讓Apache支持ASP.NET

Apache是目前廣泛使用的一種網絡服務器程序,不僅在UNIX/LINUX平臺上被大量使用,而且在Windows平臺上也有許多站點放棄了IIS而轉向Apache。
.NET是微軟推出的功能強大的開發技術,其目標就是與Java抗衡。ASP.NET非常適合於中小企業的Web應用,其性能較ASP3.0有了極大的提高。
下面就介紹讓Apache支持ASP.NET的辦法。

首先,必須要有Windows環境和.NET Framework的支持。此外還建議安裝安裝.NET開發工具如.NET Framework SDK或者VisualStudio.NET。需要注意的是Windows的版本應爲2000、2003和XP。Win9X系列不能安裝.NET Framework。

然後需要安裝Apache。應該使用Win32平臺的Apache,版本2.0以上。推薦使用2.0.51版本。下載地址:
http://apache.freelamp.com/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
具體的安裝過程請參閱其他文章,本文不再贅述。

下面要下載並安裝Apache環境下的ASP.NET模塊。下載地址:
http://www.apache.org/dist/httpd/mod_aspdotnet/mod_aspdotnet-2.0.0.msi
下載完成後雙擊打開,一路Next即可安裝完成。

爲了便於管理,我們在htdocs目錄下新建一個active目錄,專門存放.aspx文件。現在需要對httpd.conf文件作一定配置,在文件末尾添加:

#asp.net
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"

AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj /
            licx rem resources resx soap vb vbproj vsdisco webinfo 

<IfModule mod_aspdotnet.cpp>

  # Mount the ASP.NET example application
  AspNetMount /active "D:/Program Files/Apache Group/Apache2/htdocs/active"

  # Map all requests for /active to the application files
  Alias /active "D:/Program Files/Apache Group/Apache2/htdocs/active"

  # Allow asp.net scripts to be executed in the active example
  <Directory "D:/Program Files/Apache Group/Apache2/htdocs/active">
    Options FollowSymlinks ExecCGI
    Order allow,deny
    Allow from all
    DirectoryIndex Default.htm Default.aspx
  </Directory>

  # For all virtual ASP.NET webs, we need the aspnet_client files 
  # to serve the client-side helper scripts.
  AliasMatch /aspnet_client/system_web/(/d+)_(/d+)_(/d+)_(/d+)/(.*) /
      "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
  <Directory /
      "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
    Options FollowSymlinks
    Order allow,deny
    Allow from all
  </Directory>

</IfModule>

其中D:/Program Files/Apache Group/Apache2是Apache的安裝目錄,應根據實際情況更改。
現在可以在active目錄下放上ASP.NET探針。重啓Apache之後,即可體驗Apache下的ASP.NET了。

由於IIS和Apache下的ASP.NET都是運行在Common Language Runtime(CRL)的基礎上,因此Apache環境下的ASP.NET程序的運行速度不會比在IIS下慢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章