使用 Microsoft Web 部署后 IIS 6 到 IIS 8 的迁移错误

IIS 6 to IIS 8 Migration Errors after using Microsoft Web Deploy

我最近一直在尝试将一些网站从安装了 IIS 6 的 2003 服务器迁移到安装了 IIS 8 的 2012 服务器。我正在使用 Microsoft 的 Web 部署工具,并使用以下命令一次成功地复制了几个网站(更改每个站点的站点标识符 #)。

注意:原因存在替换驱动器的庞然大物是因为我们的新服务器上有不同的数据驱动器,而 MSDeploy 不喜欢这样。这也能破坏东西吗?

msdeploy -verb:sync -source:metakey=lm/w3svc/#,computername=SourceServerNameHere -dest:metakey=lm/w3svc/# -replace:objectName=metaProperty,scopeAttributeName=name,scopeAttributeValue=Path,targetAttributeName=value,match="F:",replace="E:" -enableLink:appPoolExtension > migration.log

主要问题是,当我尝试导航到任何站点时,会发生三个错误之一......
1. 503 服务不可用
2. 401.2 未经授权
3. 404.17 未找到

这些错误从 1 开始,在我尝试对 IIS 配置进行故障排除时发展到 3。但这种做法违背了使用 Web 部署工具的目的。有没有人成功迁移网站,或者该工具实际上不支持 "IIS 6.0 or higher migration?"

提前致谢。

编辑:所以我已经能够通过将处理程序映射和默认文档恢复到它们的父配置并确保 AppPools 不与版本冲突等来让我的网站的主页正常工作。这个问题是我必须弄清楚如何为网站下的每个应用程序和应用程序池执行此操作...还有其他人有类似的问题吗?

尝试使用 iisApp 提供程序而不是 MetaKey 提供程序。例如,

msdeploy -verb:sync -source:iisApp=Site1/ContosoApp,computerName=Server1 -dest:iisApp="Site1/ContosoApp",computerName=Server2 

https://technet.microsoft.com/en-us/library/dd569054(v=ws.10).aspx

我最终联系了 Microsoft 支持以解决此问题,并最终花了 3 个小时与他们一起 phone...在部署工具的迁移过程中出现了多个问题。

通过将应用程序池更改为 64 位并在 applicationhost.config 中注释掉 abomappercustom 处理程序,大部分问题已得到纠正。