由於需要,找到了一篇發布網站的文章拿來一用,
本文來自CSDN部落格:http://blog.csdn.net/xqy_2007/archive/2008/12/16/3528748.aspx
在將ASP.NET網站發布到伺服器之前需要先完成以下步驟:
1、在伺服器中建立用於存放所有網站檔案的虛擬目錄;
2、為網站指定使用的網域名稱或IP地址;
3、為遠端使用者提供用於上傳檔案的FTP使用者名稱和密碼。
下面就來具體介紹在已經安裝了.NET Framework 2.0 的Windows Server 2003或Windows XP為背景,
如何在伺服器上來配置Web網站的基本方法:
一、在Web伺服器上配置IIS
Internet Information Server的縮寫為(IIS)是一個World Wide Web server。
Gopher server和FTP server全部包容在裡面。
IIS意味著你能發布網頁,並且有ASP(Active Server Pages)、JAVA、VBscript產生頁面,
有著一些擴充功能。
其次,IIS是隨Windows NT Server 4.0一起提供的檔案和應用程式伺服器,
是在Windows NT Server上建立Internet伺服器的基本組件。它與Windows NT Server完全整合,
允許使用Windows NT Server內建的安全性以及NTFS檔案系統建立強大靈活的Internet/Intranet網站。
1、為網站準備一個IP地址
任何一個能被訪問的網站必須有一個固定的IP地址為前提,Windows Server 2003或Windows XP
允許為同一快網卡設定多個IP地址,操作方法如下:
在“本地串連”上右擊,在彈出的捷徑功能表中執行“屬性”命令,開啟“本地串連屬性”對話方塊。
選擇“網際網路通訊協定 (IP)(TCP/IP)”後單擊【屬性】按鈕,在開啟的對話方塊中單擊【進階】按鈕,然後單
擊“IP地址”地區中的【添加】按鈕,在開啟的對話方塊中輸入要添加的IP地址與子網路遮罩即可。
(如IP地址:192.168.0.1,子網路遮罩:255.255.255.0)
註:微軟對上述操作有明確的說明:“如果同一網卡的IP地址超過9個,不能保證其啟動並執行穩定性”。
對於這上問題的一個有效解決辦法是:如果同一伺服器中安排的網站數量過多時,可以通過在IIS
中指定不同的TCP連接埠號碼來區分不同的網站。如:“http://192.168.0.1:8080”和“http://192.168.0.1:8081”
表示訪問使用同一個IP地址的兩個不同的網站(連接埠號碼分別為“8080”和“8081”),http的預設連接埠號碼是“80”,
即“http://192.168.0.1”與“http://192.168.0.1:80”等效。
2、為網站建立“主目錄”
每個Web網站必須有一個“主目錄”。該目錄是位於伺服器上存放網站所有檔案的目錄。要求目錄所
處的磁碟機必須是NTFS分區。
3、配置IIS
在“控制台”開啟“管理工具”,在“管理工具”視窗中開啟“Internet 資訊服務(IIS)管理器”
開啟IIS管理視窗。在管理器的左視窗中選擇“網站”,再在“操作”菜單中選擇“建立”下的“網站”
命令。啟動“網站建立嚮導”,然後按嚮導提示分別輸入網站的描述和為網站分配的IP地址等。操作完成
後將建立一個空的網站。只要將完成的網站發布到網站的指定目錄下就可以通過瀏覽器對網站進行訪問了。
註:對於沒有添加IIS的系統先要為其添加IIS。添加方法是:開啟“控制台”的“添加/刪除程式”
選擇“添加/刪除Windows 組件”中選中“Internet 資訊服務(IIS)”同時將系統硬碟插入光碟機中點擊“下一步”
進行IIS的安裝。只有先安裝好IIS才在IIS中進行對網站的配置。
註:對於建立好虛擬網站的網站還可以在IIS管理視窗中對其進行進一步的設定。在IIS管理視窗中右
擊建立好的網站,開啟其屬性對話方塊進行進一步的設定:
(1)由於VS2005建立的ASP.NET網站需要ASP.NET 2.0
版本的支援,而IIS一般預設的為ASP.NET 1.1故要在開啟的屬性視窗的ASP.NET選項卡下的“ASP.NET 2.0
版本”下拉式清單方塊中選擇ASP.NET 2.0版本。
(2)在開啟的屬性視窗的“文檔”選項卡的“啟用預設文件”區點擊【添加】按鈕將網站的起始頁面的名稱
添加到文字框中。這樣在瀏覽器中輸入網站的網域名稱或IP地址後將開啟預設的起始頁,而無需輸入起始頁面名稱。
(3)在開啟的屬性視窗的“網站”選項卡中可以更改網站的描述、IP地址和TCP連接埠等資訊。
在第一次發布網站時往往還會遇到以下幾個問題:
(1)瀏覽器中輸入網站的地址後出現如下的提示:
“伺服器應用程式不可用
您試圖在此 Web 服務器上訪問的 Web 應用程式當前不可用。請點擊 網頁瀏覽器中的[重新整理] 按鈕重試您的請求。”
當我們查看系統事件日誌發現:
錯誤:
未能初始化 AppDomain:/LM/W3SVC/1/Root,未能負載檔案或程式集“System.Web....”
錯誤:
由於無法建立應用程式定義域,因此未能執行請求。錯誤: 0x80070005 拒絕訪問。
警告:
未能初始化 AppDomain:/LM/W3SVC/...
Exception: System.IO.FileLoadException
Message: 未能負載檔案或程式集“System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a”或它的某一個依賴項。拒絕訪問。
等的錯誤提示資訊。
對於上述問題產生的原因一般有兩個:
1、asp.net2.0沒有正確地在IIS中註冊
2、許可權問題
如果是第一種情況,可以重新註冊asp.net:
系統硬碟/windows/microsoft.net/framework/v2.0.50727(此處為版本號碼)/aspnet_regiis.exe
-i
或者是直接在Mocrosoft .NET Framework v2.0 的SDK命令提示字元下輸入:aspnet_regiis.exe
-i
如果是許可權問題,需要確保asp.net運行帳戶(預設情況下,在win2003中是Network
Service,在xp中是aspnet)對N個目錄具有相應的存取權限,主要是系統目錄
(具體列表可以在網上很容易找到),還有一個容易忽略的目錄:Web應用所對應的虛擬目錄
(2)瀏覽器中輸入網站的地址後出現如下的提示:
“訪問IIS中繼資料失敗”
這是由於先安裝的VS 2005,後安裝的IIS才出現的。
解決辦法如下:
在開始菜單中開啟 "Microsoft .NET Framework SDK V2.0"目錄下的“SDK 命令提示字元”,
開啟以後在命令提示字元中運行“aspnet_regiis -r”就可以了.
如果你安裝的只是.net Framework,那麼可以到下面的目錄運行同樣的命令:
%Systemroot%/Microsoft.NET/Framework/v2.0.50727
二、建立FTP遠端管理帳號
在IIS中建立了發布ASP.NET網站需要的網站後,還需要為使用者提供一個用於遠程上傳檔案的FTP伺服器帳號。
當然如果只是在區域網路上發布的話,最後一步就省了。