共用方式為


設定 Web Deploy 發行的網頁伺服器 (離線部署)

作者 :Jason Lee

本主題描述如何設定 IIS 網頁伺服器以支持離線 Web 發佈和部署。

當您使用 Internet Information Services (IIS) Web 部署工具 (Web Deploy) 2.0 或更新版本時,有三種主要方法可用來將應用程式或網站移至網頁伺服器。 您可以:

  • 使用 Web Deploy 遠端代理程式服務。 這種方法需要較少的網頁伺服器設定,但您必須提供本地伺服器管理員的認證,才能將任何專案部署到伺服器。
  • 使用 Web Deploy 處理程式。 這種方法較為複雜,而且需要更多初始工作才能設定網頁伺服器。 不過,當您使用此方法時,您可以將 IIS 設定為允許非系統管理員使用者執行部署。 Web Deploy 處理程式僅適用於 IIS 第 7 版或更新版本。
  • 使用 離線部署。 此方法需要網頁伺服器的最低組態,但伺服器管理員必須手動將 Web 套件複製到伺服器,並透過 IIS 管理員匯入。

如需這些方法的主要功能、優點和缺點的詳細資訊,請參閱 選擇正確的 Web 部署方法

是,如果您的網路基礎結構或安全性限制會防止遠端部署。 這很可能是在因特網面向的生產環境中,Web 伺服器實際上或由防火牆和子網隔離,以及來自其餘伺服器基礎結構的防火牆和子網。

很明顯地,如果您的 Web 應用程式定期更新,此方法會變得較不理想。 如果您的基礎結構允許,建議您考慮使用 Web Deploy 處理程式或 Web Deploy 遠端代理程式服務來啟用遠端部署。

工作概觀

若要設定網頁伺服器以支援離線匯入和部署 Web 套件,您必須:

  • 安裝 IIS 7.5 和 IIS 7 建議的設定。
  • 安裝 Web Deploy 2.1 或更新版本。
  • 建立 IIS 網站來裝載已部署的內容。
  • 停用 Web Deployment Agent​ 服務。

若要特別裝載範例解決方案,您也必須:

  • 安裝 .NET Framework 4.0。
  • 安裝 ASP.NET MVC 3。

本主題將說明如何執行這些程式。 本主題中的工作和逐步解說假設您從執行 Windows Server 2008 R2 的全新伺服器組建開始。 繼續之前,請確定:

  • 已安裝 Windows Server 2008 R2 Service Pack 1 和所有可用的更新。
  • 伺服器已加入網域。
  • 伺服器具有靜態IP位址。

注意

如需將計算機加入網域的詳細資訊,請參閱 將計算機加入網域和登入。 如需設定靜態 IP 位址的詳細資訊,請參閱 設定靜態 IP 位址

安裝產品和元件

本節將引導您在 Web 伺服器上安裝必要的產品和元件。 開始之前,最好先執行 Windows Update,以確保您的伺服器是完全最新的。

在這裡情況下,您需要安裝下列專案:

  • IIS 7 建議的設定。 這可讓您在 網頁伺服器上啟用 Web Server (IIS) 角色,並安裝一組您需要的 IIS 模組和元件,以便裝載 ASP.NET 應用程式。
  • .NET Framework 4.0。 這是執行此版本 .NET Framework 所建置的應用程式的必要專案。
  • Web 部署工具 2.1 或更新版本。 這會在伺服器上安裝 Web Deploy (及其基礎可執行檔,MSDeploy.exe) 。 Web Deploy 與 IIS 整合,可讓您匯入和導出 Web 套件。
  • ASP.NET MVC 3。 這會安裝執行MVC 3應用程式所需的元件。

注意

本逐步解說說明如何使用 Web Platform Installer 來安裝和設定各種元件。 雖然您不需要使用 Web Platform Installer,但它會自動偵測相依性並確保一律取得最新的產品版本,來簡化安裝程式。 如需詳細資訊,請參閱 Microsoft Web Platform Installer 3.0

安裝必要的產品和元件

  1. 下載並安裝 Web Platform Installer

  2. 安裝完成時,Web Platform Installer 會自動啟動。

    注意

    您現在可以從 [ 開始 ] 功能表隨時啟動 Web Platform Installer。 若要這樣做,請在 [開始] 功能表上,單擊 [所有程式],然後按兩下 [Microsoft Web Platform Installer]。

  3. [Web Platform Installer 3.0 ] 視窗頂端,按兩下 [ 產品]。

  4. 在視窗左側的瀏覽窗格中,按兩下 [ 架構]。

  5. Microsoft .NET Framework 4 列中,如果尚未安裝 .NET Framework,請按兩下 [新增]。

    注意

    您可能已經安裝 .NET Framework 4.0 到 Windows Update。 如果已安裝產品或元件,Web Platform Installer 會藉由將 [ 新增 ] 按鈕取代為 [已安裝] 文字來指出這一點。

    如果已安裝產品或元件,Web Platform Installer 會藉由將 [新增] 按鈕取代為 [已安裝] 文字來指出這一點。

  6. ASP.NET MVC 3 (Visual Studio 2010) 列中,按兩下 [ 新增]。

  7. 在瀏覽窗格中,按兩下 [ 伺服器]。

  8. [IIS 7 建議 的組態] 列中,按兩下 [ 新增]。

  9. [Web 部署工具 2.1] 數據列中,按兩下 [ 新增]。

  10. 按一下 [Install] 。 Web Platform Installer 會顯示要安裝的產品清單,以及任何相關聯的相依性,並提示您接受授權條款。

    按兩下 [安裝]。Web Platform Installer 會顯示產品清單以及要安裝的任何相關相依性,並提示您接受授權條款。

  11. 檢閱授權條款,如果您同意條款,請按兩下 [我接受]。

  12. 安裝完成時,按兩下 [ 完成],然後關閉 [Web Platform Installer 3.0 ] 視窗。

如果您在安裝 IIS 之前安裝了 .NET Framework 4.0,則必須執行 ASP.NET IIS 註冊工具 (aspnet_regiis.exe) ,以向 IIS 註冊最新版本的 ASP.NET。 如果您沒有這麼做,您會發現 IIS 會提供靜態內容 (,例如 HTML 檔案) ,但當您嘗試流覽至 ASP.NET 內容時,它將會傳回 HTTP 錯誤 404.0 – 找不到 。 您可以使用下一個程式來確保 ASP.NET 4.0 已註冊。

向 IIS 註冊 ASP.NET 4.0

  1. 按兩下 [開始],然後輸入 命令提示字元

  2. 在搜尋結果中,以滑鼠右鍵按兩下 [ 命令提示字元],然後按兩下 [ 以系統管理員身分執行]。

  3. 在 [命令提示字元] 視窗中,流覽至 %WINDIR%\Microsoft.NET\Framework\v4.0.30319 目錄。

  4. 輸入此指令,然後按 Enter:

    aspnet_regiis -iru
    
  5. 如果您打算在任何時間點裝載 64 位 Web 應用程式,您也應該向 IIS 註冊 64 位版本的 ASP.NET。 若要這樣做,請在 [命令提示字元] 視窗中,流覽至 %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 目錄。

  6. 輸入此指令,然後按 Enter:

    aspnet_regiis -iru
    

最佳做法是,此時再次使用 Windows Update,下載並安裝您已安裝之新產品和元件的任何可用更新。

設定 IIS 網站

您必須先建立並設定 IIS 網站來裝載內容,才能將 Web 內容部署至伺服器。 Web Deploy 只能將 Web 套件部署到現有的 IIS 網站;無法為您建立網站。 概括而言,您必須完成下列工作:

  • 在檔案系統上建立資料夾來裝載您的內容。
  • 建立 IIS 網站來提供內容,並將它與本機資料夾產生關聯。
  • 授與本機資料夾上應用程式集區身分識別的讀取許可權。

雖然您不會停止將內容部署到 IIS 中的預設網站,但不建議針對測試或示範案例以外的任何專案使用此方法。 若要模擬生產環境,您應該使用應用程式需求特定的設定來建立新的 IIS 網站。

建立及設定 IIS 網站

  1. 在本機文件系統上,建立資料夾以儲存內容 (例如 C:\DemoSite) 。

  2. 在 [ 開始 ] 功能表上,指向 [ 系統管理工具],然後按兩下 [ Internet Information Services (IIS) 管理員]。

  3. 在 [IIS 管理員] 的 [ 連線 ] 窗格中,展開伺服器節點 (例如 ,PROWEB1) 。

    在 IIS 管理員的 [連線] 窗格中,展開伺服器節點 (例如,PROWEB1)

  4. 以滑鼠右鍵按兩下 [ 網站] 節點,然後按兩下 [ 新增網站]。

  5. 在 [ 網站名稱 ] 方塊中,輸入 IIS 網站的名稱 (,例如 DemoSite) 。

  6. 在 [ 實體路徑 ] 方塊中,輸入 (或流覽以) 本機資料夾的路徑 (,例如 C:\DemoSite) 。

  7. 在 [ ] 方塊中,輸入您要裝載網站的埠號碼 (,例如 85) 。

    注意

    標準埠號碼為 HTTP 為 80,HTTPS 則為 443。 不過,如果您在埠 80 上裝載此網站,您必須先停止默認網站,才能存取您的網站。

  8. [主機名] 方塊保留空白,除非您想要為網站設定域名系統 (DNS) 記錄,然後按兩下 [ 確定]。

    將 [主機名] 方塊保留空白,除非您想要為網站設定域名系統 (DNS) 記錄,然後按兩下 [確定]。

    注意

    在生產環境中,您可能會想要在埠 80 上裝載您的網站,並設定主機標頭,以及相符的 DNS 記錄。 如需在 IIS 7 中設定主機標頭的詳細資訊,請參閱設定 網站主機標頭 (IIS 7) 。 如需 Windows Server 2008 R2 中 DNS 伺服器角色的詳細資訊,請參閱 DNS 伺服器概觀

  9. 在 [ 動作 ] 窗格的 [ 編輯站台] 下方,按一下 [ 繫結]。

  10. 在 [站台繫結] 對話方塊中,按一下 [新增]

    在 [網站系結] 對話框中,按兩下 [新增]。

  11. 在 [ 新增網站系結] 對話框中,設定 IP位址 ,以符合您現有的月臺設定。

  12. 在 [ 主機名] 方塊中,輸入網頁伺服器的名稱 (,例如 ,PROWEB1) ,然後按兩下 [ 確定]。

    在 [主機名] 方塊中,輸入網頁伺服器的名稱 (,例如,PROWEB1) ,然後按兩下 [確定]。

    注意

    第一個網站系結可讓您使用IP位址和埠或 http://localhost:85在本機存取網站。 第二個月臺系結可讓您使用電腦名稱 (,從網域上的其他計算機存取月臺,例如: http://proweb1:85).

  13. 在 [站台繫結] 對話方塊中,按一下 [關閉]

  14. 在 [連線] 窗格中,按一下 [應用程式集區]

  15. 在 [ 應用程式集區] 窗格中,以滑鼠右鍵按兩下應用程式集區的名稱,然後按兩下 [ 基本設定]。 根據預設,應用程式集區的名稱會符合您的網站名稱 (,例如 DemoSite) 。

  16. .NET Framework 版本清單中,選取 [.NET Framework v4.0.30319],然後按兩下 [確定]。

    在 .NET Framework 版本清單中,選取 [.NET Framework v4.0.30319],然後按兩下 [確定]。

    注意

    範例解決方案需要 .NET Framework 4.0。 這並非 Web Deploy 的一般需求。

為了讓您的網站提供內容,應用程式集區身分識別必須具有儲存內容的本機資料夾的讀取許可權。 在 IIS 7.5 中,應用程式集區預設會以唯一的應用程式集區身分識別執行 (,相較於舊版 IIS,應用程式集區通常會使用網路服務帳戶) 來執行。 應用程式集區身分識別不是真正的用戶帳戶,也不會顯示在任何使用者或群組清單上,而是在應用程式集區啟動時動態建立。 每個應用程式集區身分識別都會新增至本機 IIS_IUSRS 安全組作為隱藏專案。

若要將許可權授與檔案或資料夾上的應用程式集區身分識別,您有兩個選項:

  • 使用 IIS AppPool (應用程式集區名稱 格式直接指派給應用程式集區身分識別,例如 IIS AppPool\DemoSite) ,) (。
  • 將許可權指派給 IIS_IUSRS 群組。

最常見的方法是將許可權指派給本機 IIS_IUSRS 群組,因為這種方法可讓您變更應用程式集區,而不需重新設定檔系統許可權。 下一個程式會使用此群組型方法。

注意

如需 IIS 7.5 中應用程式集區身分識別的詳細資訊,請參閱 應用程式集區身分識別

設定 IIS 網站的資料夾許可權

  1. 在 Windows 檔案總管中,流覽至本機資料夾的位置。

  2. 在資料夾上按一下滑鼠右鍵,然後按一下 [內容]

  3. 在 [Security] 索引標籤上按一下 [Edit],然後按一下 [Add]。

  4. 按一下 [位置]。 在 [ 位置 ] 對話框中,選取本機伺服器,然後按兩下 [ 確定]。

    按兩下 [位置]。在 [位置] 對話框中,選取本機伺服器,然後按兩下 [確定]。

  5. 在 [ 選取使用者或群組 ] 對話框中,輸入 IIS_IUSRS,按兩下 [ 檢查名稱],然後按兩下 [ 確定]。

  6. [ (資料夾名稱的許可權) ] 對話框中,請注意,新的群組已獲指派 [ 讀取 & 執行]、[ 列出資料夾內容] 和 [ 讀取 ] 許可權。 將此保持不變,然後按兩下 [ 確定]。

  7. 按兩下 [確定 ] 關閉 [屬性] 對話框) (資料夾名稱

停用遠端代理程式服務

當您安裝 Web Deploy 時,會自動安裝並啟動 Web Deployment Agent​ 服務。 此服務可讓您從遠端位置部署和發佈 Web 套件。 在此案例中,您不會使用遠端部署功能,因此您應該停止並停用服務。

注意

您不需要停止遠端代理程式服務,即可手動匯入和部署Web套件。 不過,如果您不打算使用它,最好停止和停用服務。

您可以使用各種命令行公用程式或 Windows PowerShell Cmdlet,以多種方式停止和停用服務。 此程式描述簡單的UI型方法。

停止並停用遠端代理程序服務

  1. 在 [開始] 功能表上,指向 [系統管理工具] ,然後按一下 [服務] 。

  2. 在 [服務] 控制台中,找出 [Web Deployment Agent​ 服務] 數據列。

    在 [服務] 控制台中,找出 [Web Deployment Agent​ 服務] 數據列。

  3. 以滑鼠右鍵按兩下 [Web Deployment Agent​ 服務],然後按下 [屬性]。

  4. [Web Deployment Agent​ 服務屬性] 對話框中,按兩下 [停止]。

  5. 在 [ 啟動類型] 列表中,選取 [ 已停用],然後按兩下 [ 確定]。

    在 [啟動類型] 列表中,選取 [已停用],然後按兩下 [確定]。

結論

此時,您的 Web 伺服器已準備好進行離線 Web 套件部署。 嘗試將 Web 套件匯入 IIS 網站之前,建議您檢查下列重點:

  • 您是否已向 IIS 註冊 ASP.NET 4.0?
  • 應用程式集區身分識別是否具有網站源資料夾的讀取許可權?
  • 您是否已停止 Web Deployment Agent​ 服務?