博客園 - 鳥食軒 - 在Apache環境下成功的運行ASP.NET

在Apache環境下成功的運行ASP.NET

由於公司的產品在新的版本中,需要考慮一些新的部署方式,所以又抽空關注了一下.NET跨平台的一些解決方案。雖然Mono Project對基於.NET開發的人來說都不陌生,不過由於Mono是比較狹義的跨平台(因為它是OS級別的)概念。而從廣義的角度來說,使用不同的Web Server也可以算是一種垮平台。緣起是由於IIS的口碑實在太濫,以至於不少的關鍵應用場景明文禁止安裝和使用IIS。而從ASP.NET的執行原理來看,它是通過一個Web Server處理tcp請求,然後把對ASPX執行和呈現交於使用.NET實現一個託管環境來進行的。所以使用Apache是目前最經濟的IIS替代品,而同時在Apache的sub-project正好有一個支持ASP.NET的模塊,並且已經開發到了2.0版本。我所配合使用的版本是Apache HTTP Server 2.0.55和mod_aspdotnet 2.0.0。安裝非常的簡單,兩個程序都是msi安裝包,一路next就搞定了。完了再在安裝目錄/htdocs下建一個目錄,如:active。不過其中有兩個小問題需要注意:一是:在安裝Apache HTTP Server的時候,如果我們機器上的80埠已被佔用,需要選使用8080埠來安裝那個選項,當然這個埠是可以在httpd.conf文件里修改的。只是使用這種安裝方式安裝好以後需要手動的啟動apache2服務,使用cmd命令並進入apache安裝目錄,如:D:Program FilesApache GroupApache2in,運行:apache -k install。二是:在配置aspdotnet_module的時候,我們需要在httpd.conf文件中追加以下清單:

#asp.net

LoadModuleaspdotnet_module"modules/mod_aspdotnet.so"

AddHandlerasp.netasaxascxashxasmxaspxaxdconfigcscsprojlicxremresourcesresxsoapvbvbprojvsdiscowebinfo

<IfModulemod_aspdotnet.cpp>

#MounttheASP.NETexampleapplication

AspNetMount/active"J:/Working/BIVSS"

#Mapallrequestsfor/activetotheapplicationfiles

Alias/active"J:/Working/BIVSS"

#Allowasp.netscriptstobeexecutedintheactiveexample

<Directory"J:/Working/BIVSS">

OptionsFollowSymlinksExecCGI

Orderallow,deny

Allowfromall

DirectoryIndexDefault.htmDefault.aspx

</Directory>

#ForallvirtualASP.NETwebs,weneedtheaspnet_clientfiles

#toservetheclient-sidehelperscripts.

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">

OptionsFollowSymlinks

Orderallow,deny

Allowfromall

</Directory>

</IfModule>本來這個配置文件很簡單,還有詳細的注釋。不過一定要注意上面的命令(非#開頭的行),都需要寫在一行上,如果是從網頁上copy要特別的小心,特別是AddHandler和AliasMatch這兩句容易被斷成兩行,那樣啟動apache服務就會失敗,並且提示非常簡單,根本不會告訴你配置文件載入錯誤

。目前,這個mod_aspdotnet模塊最大的問題是在認證支持上的不足,比如windows和form都還不能支持,不過開源的東西更新還是很快的。由於使用Microsoft .NET Framework作為CLR,開發更新的壓力和Mono不在一個數量級上,相信很快就能有對頁面認證的較好支持。安裝成功後可以運行探針來檢查效果,比如使用邁克老貓同志的ASP.NET探針。伺服器基本信息伺服器名稱: birdshome伺服器IP地址: 127.0.0.1.NET Framework語言種類: English (United States).NET Framework 版本: 2.050727.29伺服器埠: 80伺服器域名: localhost伺服器時間: 11/18/2005 12:11:39 AM伺服器操作系統: Microsoft Windows XP伺服器空間佔用: .13站點物理路徑: D:Program FilesApache GroupApache2htdocsactive伺服器IE瀏覽器版本: 6.0000伺服器IIS版本: Apache/2.0.55 (Win32)伺服器上次啟動到現在已運行: 12883秒腳本超時: 30000000秒虛擬目錄絕對路徑: D:Program FilesApache GroupApache2htdocsactive執行文件絕對路徑: D:Program FilesApache GroupApache2htdocsactiveSiteInfo.aspx伺服器操作系統安裝目錄: C:WINDOWS伺服器應用程序安裝目錄: C:Program FilesCPU個數: 本計算機中有1個CPUCPU類型: x86 Family 15 Model 3 Stepping 3CPU等級: CPU等級為50528271CPU OEM ID: CPU的OEM ID為0CPU頁面大小: CPU中的頁面大小為409675%的內存正在使用物理內存共有510MB可使用的物理內存有126MB交換文件總大小為1245MB尚可交換文件大小為750MB總虛擬內存有2047MB未用虛擬內存有1817MB邏輯驅動器: A: ||C: ||D: ||E: ||F: ||G: ||H: ||J: ||K: ||L: ||M:posted on 2005-11-17 22:48birdshome 閱讀(952)評論(19) 編輯收藏收藏至365Key 所屬分類:.NET技術開發相關


推薦閱讀:

《易經學堂》第941期:?居家風水篇|家中風水財位應該如何尋找最佳環境。。。
德國的居住環境
環境經濟學(二):市場與外部性
王家衛:必須要有膽量面對新環境 但是也要保持靈魂|一代宗師|王家衛
一個小的嘗試

TAG:環境 | 成功 | 博客 | .NET | ASP.NET | 博客園 | Apache | 運行 |