首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Windows 2012 R2上的IIS8.5迁移到Windows 2019上的IIS 10

从Windows 2012 R2上的IIS8.5迁移到Windows 2019上的IIS 10
EN

Server Fault用户
提问于 2020-08-11 15:12:06
回答 2查看 8.7K关注 0票数 4

我想问您一个关于如何将Windows 2012 R2中的整个IIS (V8.5)迁移到Windows 2019上的IIS (版本10)的建议。我需要一个几乎自动的过程,因为我们有500多个站点在该服务器上。

这是几乎每个网站的规范:

  1. 包含整个网站的文件夹,我可以轻松地在新服务器上复制该文件夹。每个文件夹都有一个web.config文件,其中包含一个db连接字符串(我可以使用Python对网站目录根目录中的所有文件夹进行轻松的更改);
  2. 我可以通过这样的power脚本轻松访问IIS配置和网站:
代码语言:javascript
复制
Import-Module Webadministration
$sites = Get-ChildItem -Path IIS:\Sites
foreach($element in $sites){
    $element
}

其中我看到了网站的所有细节。我知道IIS中存在导出工具,但我认为不可能更改网站的目标文件夹和绑定,以使它们适应我需要在新服务器上使用的新域。

在这一点上,我有点卡住了,因为我不知道如何以一种聪明的方式进行。理想情况下,我需要的是,对于导出配置的每个网站,在目标IIS上创建网站,将网站的引用文件夹与绑定一起更新到新服务器上的位置(我需要更改域),并启动站点(如果出现错误,请显示某种警告以供手动检查)。您对如何进行并使此过程尽可能自动化有任何建议吗?此外,任何脚本的参考将是非常感谢。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2022-11-17 16:31:47

如果要将所有IIS网站和配置从一台服务器复制到另一台服务器,则可以使用msdeploy.exe。在源服务器上,以管理员身份运行以下命令,将所有文件和IIS配置复制到目标服务器,将[DestinationServerName]替换为要克隆到的服务器的名称:

代码语言:javascript
复制
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:webServer -dest:auto,computerName=[DestinationServerName] -disableSkipDirective:ConfigProtectedData

请注意,如果目标服务器上有其他IIS网站和配置设置,则上面的命令可能会删除它。

您还可以使用以下命令同步各个网站和应用程序池:

代码语言:javascript
复制
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:apppoolconfig="[APP POOL NAME GOES HERE]" -dest:auto,computerName=[DestinationServerName] -disableSkipDirective:ConfigProtectedData
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:apphostconfig="[WEBSITE NAME GOES HERE]" -dest:auto,computerName=[DestinationServerName] -disableSkipDirective:ConfigProtectedData

有关更多信息,请参见这个要旨

完成此操作后,目标服务器应该是源服务器的镜像,因此,如果您希望在目标服务器上进行任何更改(例如绑定主机名),则以后仍然需要通过IIS、PowerShell或C:\Windows\System32\inetsrv\config\ApplicationHost.config文件(在修改它之前一定要对其进行备份)。

票数 0
EN

Server Fault用户

发布于 2020-08-11 18:45:18

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

只要您的目标服务器尚未启用,并且您可以使用它,我将直接编辑C:\Windows\System32\inetsrv\config\ApplicationHost.config文件。

将节点从旧服务器上的配置文件复制到新服务器上的配置文件。

还复制任何注释,通常在文件的末尾。

IIS 8.5和IIS 10非常相似,应该可以工作。始终备份您要更改的文件。

然后,您可以使用配置文件中的搜索和替换来更改物理位置或绑定。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1029711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档