如何利用Web單鍵發行的Web部署來發行網站

利用Web單鍵發行的Web部署來發行網站可能會遇到什麼問題,以及建議的設定步驟,本文將會進行說明。

Visual Studio 2010提供了多種ASP.NET Web應用程式部署的方式,從FTP、檔案系統、FPSE及MSDeploy等,本文將介紹如何利用MSDeploy來做到,設定一次之後可以利用單鍵來發行Web,讓Visual Studio及Web Deployment Agent Service幫你建立Web應用程式,是一個相當便捷的功能,該如何實作說明如下:

【環境說明】

  • 開發環境:Windows 7 Standard x86、Visual Studio 2010 Ultimate。
  • 正式環境:Windows Server 2008 R2 Standard

 

首先必須打開Web單鍵發行的功能,步驟請見下圖:

 

image

 

當您發現您的Web單鍵發行功能如上圖是反白無法使用的狀況,原因是Web單鍵發行功能只能用在Web應用程式專案,不能用在Web網站專案,兩者的差異請見參考資料。因此筆者改開一個Web應用程式專案,就可以使用Web單鍵發行功能(如下圖)。

 

image

 

於Web單鍵發行工具箱上按新增以新增發行設定。

 

image

 

輸入下列資訊(如下圖):

  1. 發行設定檔的名稱。
  2. 發行方法選擇Web部署
  3. 服務URL可以依照下方的提示輸入【https://網址:埠號/MSDeploy.axd】或【https://網址:埠號/】。
  4. 輸入網站名稱及應用程式到時候要部署在該網站所使用的名稱。

若您的Web應用程式想要部署至IIS後變成應用程式,必須勾選【在目的地標記為IIS應用程式】。

 

image

 

本文以下圖所輸入的資訊來進行Web部署的測試:

 

image

 

注意,本文使用Administrator為方便示範之用,建議實務上避免使用Administrator來發行Web。

 

發行時應該會出現下列的錯誤訊息:

錯誤    1    Web 部署工作失敗。(無法連線到目的電腦 ("192.168.192.172")。在目的電腦上,請確認 Web Deploy 已安裝,並且必要的處理程序 ("Web Deployment Agent Service") 已經啟動。)
這個錯誤表示您無法連接伺服器。請確定服務 URL 正確無誤、已正確設定這部電腦和伺服器電腦上的防火牆和網路設定,而且已在伺服器上啟動適當的服務。
錯誤詳細資料:
無法連線到目的電腦 ("192.168.192.172")。在目的電腦上,請確認 Web Deploy 已安裝,並且必要的處理程序 ("Web Deployment Agent Service") 已經啟動。
無法連接至遠端伺服器
通訊端操作嘗試連線到一個無法連線的網路。 192.168.192.172:80        0    0    WebApplication5

 

從錯誤訊息看來目的端電腦尚未安裝Web Deployment Agent Service,以至於Web部署失敗,由於內建並無這個服務,必須至IIS官網下載Web Deploy 2.0並安裝至目的地的機器上,從IIS官網上可選擇利用Web Platform Installer來安裝或是直接依照作業系統的位元數來手動下載安裝檔,筆者選擇手動安裝x64版的Web Deploy 2.0,下載及安裝過程截圖如下:

 

image

6789101112

 

安裝完畢之後請從服務檢查是否有Web Deployment Agent Service這個服務,且其啟動類型為自動(如下圖)。

 

13

 

接著再重新發行一次Web應用程式,此時很不幸地又出現下列的錯誤訊息:

錯誤    1    Web 部署工作失敗。(無法連線到目的電腦 ("192.168.192.172")。在目的電腦上,請確認 Web Deploy 已安裝,並且必要的處理程序 ("The Web Management Service") 已經啟動。)
這個錯誤表示您無法連接伺服器。請確定服務 URL 正確無誤、已正確設定這部電腦和伺服器電腦上的防火牆和網路設定,而且已在伺服器上啟動適當的服務。
錯誤詳細資料:
無法連線到目的電腦 ("192.168.192.172")。在目的電腦上,請確認 Web Deploy 已安裝,並且必要的處理程序 ("The Web Management Service") 已經啟動。
無法連接至遠端伺服器
連線嘗試失敗,因為連線對象有一段時間並未正確回應,或是連線建立失敗,因為連線的主機無法回應。 192.168.192.172:8172        0    0    WebApplication5

 

從保哥的如何使用 Visual Studio 2010 的「單鍵發行」功能 (MsDeploy)一文查出,原來少安裝IIS的管理服務的角色服務(如下圖)。

 

image

1516

 

安裝完畢之後檢查服務中的Web Management Service是否啟動(如下圖)。

 

17

 

再重試一次發行,終於可以看到發行成功的訊息(如下圖)。

 

image

 

從IIS管理員看來的確Web部署工具幫我們在Default Web Site下建立WebApp5這個應用程式(如下圖)。

 

18

 

於開發環境上打開IE執行WebApp5上的Index.aspx,可以看到網頁正常顯示,表示部署成功。

 

image

 

 

【結論】

要使用Web部署來做Web單鍵發行,建議步驟如下:

  1. 啟用管理服務的角色服務。
  2. 安裝Web Deploy 2.0。
  3. 設定發行設定檔。
  4. 單鍵發行。

 

【參考資料】