2

谁能建议将带有 IIS7 的服务器 1 上的网站移动到带有 IIS 7.5 的服务器 2 的最佳方法?我读过一些文章,建议在保留 configProtectedData 节点的同时复制 applicationHost.config 文件,但我担心 IIS 7.5 配置中可能存在当前 IIS7 配置中不存在的设置会丢失。

我还看到了使用以下命令单独移动每个站点的建议:AppCmd.exe LIST SITE "My Site" /config /XML > mysite.xml

对于数十个站点,此方法执行此操作所需的时间太长。必须有一种更好的方法将所有站点一次迁移到新平台。

4

3 回答 3

2

我想我找到了最适合我的解决方案。您需要从 7.0 和 7.5 服务器导出共享配置。将导出的 7.0 文件复制到 7.5 服务器上的临时目录。在 7.5 服务器上,将导出的 7.5 Administration.config 文件复制到 7.0 文件的顶部,从而替换它。在 IIS 7.5 中,将共享配置指向临时目录。这里的重点是使用来自新服务器而不是来自 7.0 服务器的管理配置。从那以后一直对我很好。问题似乎源于此文件中的节点 moduleProviders。它们都是来自 IIS 7 的文件中的 7.0.0.0 版本,这是 IIS 7.5 不喜欢的。

于 2010-01-11T21:32:30.317 回答
1

使用 Web Deploy 可能是最简单的方法之一,您可以直接对实时服务器执行此操作,也可以对离线包(zip 文件)执行此操作,然后随时应用。下载地址:http ://www.iis.net/download/WebDeploy

简单的命令行如:

msdeploy.exe -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server2 -whatif

-whatif 告诉它只告诉它会创建的差异,如果你删除它,它会将所有更改应用到同步(如果它不存在,它将创建它)。

示例:http ://learn.iis.net/page.aspx/446/synchronize-iis-7/

这很酷,因为它还可以带来内容文件、COM 对象、GAC 中的程序集、注册表项、证书、ssl 绑定等等。

于 2010-06-15T03:34:47.327 回答
0

您实际上可以复制粘贴除该<configProtectedData>部分之外的完整 appHost.config 文件。使用 windiff 比较两个 appHost.config,然后移动缺少的那些......

希望这会有所帮助。

于 2009-12-24T01:25:56.407 回答