在APACHE上運行ASP.NET經驗總結

來源:互聯網
上載者:User

APACHE上運行ASP.NET要點一、為什麼不用IIS

用asp.net開發網頁,伺服器選擇IIS是絕對最佳的網頁部署方案,我說此話似乎是廢話,因為它們都是微軟自家產品,結合當然會更好些。但是我遇到一種情況,讓我考慮非IIS的asp.net部署方案。

我用的作業系統是WINXP系統,而且是Ghost XP版的,一裝好系統預設是沒有安裝IIS的,要下載單獨的IIS安裝包或用原始系統硬碟在控制台中添加這個IIS組件。在這樣不專業的環境下搭建的IIS問題很多(比如系統更新某些補丁可以導致IIS不可用),有時候IIS出現問題後,即使重裝IIS也是不管用的,此時唯有重裝系統,所以特別煩,特別是自己系統用了一段時間後,安裝了較多軟體,自己真的不想隨便重裝系統。所以此時我想到了IIS之外的asp.net伺服器搭建選擇。

APACHE上運行ASP.NET要點二、所需檔案

1、PHPnow。(包含PHP、Apache,MySQL,其實只要Apache就行了,……)

2、Microsoft .NET Framework。

3、Apache的asp.net模組。

APACHE上運行ASP.NET要點三、配置過程

1、安裝Microsoft .NET Framework。一路Next下去就完成安裝。

2、安裝Apache伺服器。解壓PHPnow安裝包後運行Setup.cmd安裝就行了(具體安裝方法可以參考我另外一篇教程《用Zend Studio+PHPnow+Zend Debugger搭建PHP伺服器調試環境》),因為我打算還會使用PHP網頁,所以用了PHPnow整合安裝包,而不是單獨安裝Apache。

3、安裝Apache的asp.net模組。安裝下載回來的安裝檔案,安裝程式會初始化,並自動去找到Apache安裝目錄,如果發現找錯了,自己可以手動調整。(注意:mod_aspdotnet版本要與自己安裝的Apache版本對應上)。最後配置一下Apache-20/conf/httpd.conf檔案,用記事本開啟這個檔案,在檔案末尾追加以下配置節點,“#”開頭為注釋部分,另外注意修改相應配置中的目錄為自己的實際目錄。

以下Apache配置方法與注釋出自網路,作者未知。

 1 # asp.net 支援   2 # 這2條配置屬於全域配置,可放在其它響應 LoadModule/AddHandler 語句塊後面   3 # 我的配置中,下面整個配置塊是放在最後,未分開,這也是為了方便管理   4 LoadModule aspdotnet_module "modules/mod_aspdotnet.so"  5 AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo   6   7 # 下面的整段配置可以放在虛擬機器主機中   8 < IfModule mod_aspdotnet.cpp>   9  10 # Mount the asp.net example application  11 # AspNetMount 語句相當於 Linux 中的 mount 命令,是把Asp程式目錄掛載到一個 URL 地址  12 # 如果不是整個網站都用Asp,則不應該掛在‘/’下。如:AspNetMount /asptool "D:\\www\\Apache2\\htdocs\\aspweb"  13 # 注意:整站採用時,全域的DocumentRoot 為 "D:/www/Apache2/htdocs/aspweb"  14 AspNetMount / "D:/PHPnow/htdocs" 15  16 # Map all requests for /active to the application files  17 # 意思是把所有到‘/asptool’的請求映射到掛載的Asp程式目錄下  18 # 我的配置中,下面一句是注釋掉的  19 # Alias /asptool "D:/www/Apache2/htdocs/aspweb"  20  21 # Allow asp.net scripts to be executed in the active example  22 < Directory "D:/PHPnow/htdocs">  23     Options FollowSymlinks ExecCGI  24     Order allow,deny  25     Allow from all  26     DirectoryIndex default.htm default.aspx index.html index.aspx  27 < /Directory>  28 # For all virtual asp.net webs, we need the aspnet_client files  29 # to serve the client-side helper scripts.  30  31 # 注意:下面兩行需要對應.Net Framework安裝的目錄  32 AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/WIN2003/Microsoft.NET/Framework/v$1.$2.$3/asp.netClientFiles/$4" 33  34 < Directory "C:/Windows/Microsoft.NET/Framework/v*/asp.netClientFiles">  35     Options FollowSymlinks  36     Order allow,deny  37     Allow from all  38 < /Directory>  39  40 < /IfModule>  41 # asp.net 支援 End.  

 

 

APACHE上運行ASP.NET要點四、運行並測試網站執行個體

完成以上安裝與配置後,你現在可以把自己做的簡單的asp.net網站程式或者下載的簡單的asp.net網站程式放到Apache網站目錄中(htdocs目錄),然後在瀏覽器輸入http://127.0.0.1地址訪問網站。更詳細資料亦可參考我另外一篇教程《用Zend Studio+PHPnow+Zend Debugger搭建PHP伺服器調試環境》。這裡我為什麼強調要測試“簡單”的網站呢,因為我發現這個運行環境還是存在一些問題的,請看我下面第五點說明。

APACHE上運行ASP.NET要點五、存在問題

在以上搭建的asp.net運行環境下,我測試了動易的SiteFactory CMS,發現問題多多,根本無法正常運行。據瞭解,這個伺服器環境對.NET的身分識別驗證模式不支援,另外我也發現對子目錄的支援等也會出現一些奇怪問題,因此可以得出結論,這個運行環境是有缺陷的,要慎用,小網站、小測試可以試一下。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.