我最近一直在尝试将一些网站从带有IIS 6的2003服务器迁移到安装了IIS 8的2012服务器。我正在使用Microsoft的Web Deploy工具,并且已成功使用以下命令一次复制一些网站(更改每个站点的站点标识符#)。
备注:mumbo的原因更换驱动器存在的巨大变化是因为我们的新服务器上有不同的数据驱动器,而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 Deploy Tool的目的。有没有人幸运地迁移网站完全成功,或者该工具实际上不支持“IIS 6.0或更高版本的迁移?”
提前致谢。
编辑:所以我已经能够通过将处理程序映射和默认文档恢复到其父配置来确保我的网站的主页工作,并确保AppPools不与版本等冲突。这个,我必须弄清楚如何为网站下的每个应用和应用池做到这一点......还有其他人有类似的问题吗?答案 0 :(得分:0)
尝试使用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
答案 1 :(得分:-1)
我最终联系了微软支持部门以解决这个问题并最终花了3个小时与他们通电......在部署工具的迁移过程中出现了多个问题。
通过将应用程序池更改为64位并在applicationhost.config中注释掉abomappercustom处理程序,可以解决大部分问题。