Iis

從 Windows Server 2012 R2 上的 IIS 8.5 遷移到 Windows Server 2019 上的 IIS 10

  • January 27, 2021

我想問你一個關於如何繼續將 Windows Server 2012 R2 中的整個 IIS(8.5 版)遷移到 Windows Server 2019 上的 IIS(10 版)的建議。我需要一個幾乎自動的過程,因為我們有 500 多個站點那個伺服器。

這是幾乎每個網站的規範:

  1. 一個包含整個網站的文件夾,我可以輕鬆地將其複製到新伺服器上。每個文件夾都有一個 web.config 文件,其中包含一個 db 連接字元串(我可以使用 Python 腳本輕鬆更改網站目錄根目錄下的所有文件夾);
  2. 我可以通過這樣的 power shell 腳本輕鬆訪問的 IIS 配置和網站:
Import-Module Webadministration
$sites = Get-ChildItem -Path IIS:\Sites
foreach($element in $sites){
   $element
}

我在其中看到了網站的所有詳細資訊。我知道 IIS 中存在導出工具,但我認為無法更改網站的目標文件夾以及綁定以使其適應我需要在新伺服器上使用的新域。

在這一點上,我有點卡住了,因為我無法弄清楚如何以一種聰明的方式進行。理想情況下,我需要的是,對於我導出配置的每個網站,在目標 IIS 上創建網站,將網站的引用文件夾更新到新伺服器上的位置以及綁定(我需要更改域)並啟動站點(如果出現錯誤,顯示某種警告以供手動檢查)。您對如何進行並使此過程盡可能自動化有什麼建議嗎?任何供參考的腳本也將不勝感激。

使用 WebAdministration 模組是安全的,但它也很慢。

只要您的目標伺服器尚未上線並且您可以使用它,我就會直接編輯該C:\Windows\System32\inetsrv\config\ApplicationHost.config文件。

<sites>將舊伺服器上的配置文件中的節點複製到新伺服器上的配置文件中。

還要複製任何<location ...>註釋,通常在文件末尾。

IIS 8.5 和 IIS 10 非常相似,這應該可以工作。始終備份您正在更改的文件。

然後,您可以在配置文件中使用 Search and Replace of 來更改物理位置或綁定。

引用自:https://serverfault.com/questions/1029711