在APACHE上運行asp.net

來源:互聯網
上載者:User
[轉]在APACHE上運行asp.net
http://blog.donews.com/timwong/archive/2005/07/01/450450.aspx
首先,必須要有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下慢。

Trackback: http://tb.donews.net/TrackBack.aspx?PostId=450450

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

http://linux.chinaitlab.com/server/38568.html

 由於公司的產品在新的版本中,需要考慮一些新的部署方式,所以又抽空關注了一下.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 Files\Apache Group\Apache2\bin,運行:apache -k install。
  
  二是:在配置aspdotnet_module的時候,我們需要在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 "J:/Working/BIVSS"
  # Map all requests for /active to the application files
  Alias /active "J:/Working/BIVSS"
  # Allow asp.net scripts to be executed in the active example
  <Directory "J:/Working/BIVSS">
  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>
  
  本來這個設定檔很簡單,還有詳細的注釋。不過一定要注意上面的命令(非#開頭的行),都需要寫在一行上,如果是從網頁上copy要特別的小心,特別是AddHandler和AliasMatch這兩句容易被斷成兩行,那樣啟動apache服務就會失敗,並且提示非常簡單,根本不會告訴你設定檔載入錯誤。
  
  目前,這個mod_aspdotnet模組最大的問題是在認證支援上的不足,比如windows和form都還不能支援,不過開源的東西更新還是很快的。由於使用Microsoft .NET Framework作為CLR,開發更新的壓力和Mono不在一個數量級上,相信很快就能有對頁面認證的較好支援。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.