有人能建议将安装了 IIS7 的服务器 1 上的网站移动到安装了 IIS 7.5 的服务器 2 上的最佳方法吗?我读过一些文章,建议复制 applicationHost.config 文件,同时保留 configProtectedData 节点,但我担心 IIS 7.5 配置中可能存在当前 IIS7 配置中不存在的设置,这些设置将会丢失。
我还看到了使用以下命令单独移动每个站点的建议:AppCmd.exe LIST SITE“我的站点”/config /XML > mysite.xml
对于数十个网站来说,这种方法耗时太长。一定有更好的方法可以一次性将所有网站迁移到新平台。
我最初在 stackoverflow.com 上发布了这个问题,有人建议我也在这里发布。以下是那里的帖子和回复:https://stackoverflow.com/questions/1955273/move-websites-from-iis7-to-iis-7-5
答案1
首先确保每个安装的程序相同。确保 7.5 安装没有安装“更多”应用程序,否则服务器配置安装程序在将来的安装中会出现问题。
然后从 IIS 的顶层使用共享配置。导出配置,将 3 个文件复制到临时位置,然后指向新端(在临时位置)上的文件。确认它按预期工作,然后关闭共享配置。将出现一个提示,允许您将文件复制回正常位置。接受它,您将拥有一台完全迁移的机器,也不需要使用共享配置。
需要考虑的一些事项包括: - 自定义应用程序池身份必须是具有相同名称和密码的 AD 用户或本地用户。如果没有,只需手动将用户重新分配给应用程序池即可。 - 确保在新服务器上设置了内容、GAC、注册表、COM+ 和 NTFS 权限。 - 和 SSL。甚至 IIS SSL 设置也不会转移,因此需要手动重新应用它们。
答案2
我认为我找到了最适合我的解决方案。您需要从中导出共享配置两个都7.0 和 7.5 服务器。将导出的 7.0 文件复制到 7.5 服务器上的临时目录。在 7.5 服务器上,将导出的 7.5 版 Administration.config 文件复制到 7.0 文件的顶部,从而替换它。在 IIS 7.5 中,将共享配置指向临时目录。这里的重点是使用新服务器中的 Administration.config,而不是 7.0 服务器中的 Administration.config。从那时起,它对我来说一直很好用。问题似乎源于此文件中的节点。它们都是 IIS 7 文件中的 7.0.0.0 版本,而 IIS 7.5 不喜欢这个版本。
答案3
亚当,
刚刚浏览了一个讨论 Web 部署工具的论坛http://www.iis.net/expand/WebDeploymentTool。根据论坛的说法,此工具可用于从 IIS7 迁移到 IIS7.5。我会尝试一下并写回结果。
詹姆士
答案4
对此进行另一次更新以解决 FTP 服务失败的问题。applicationHost.config 文件中有一个名为 <sectionGroup name="system.ftpServer"> 的节点。您的 IIS 7.0 服务器中的 applicationHost.config 文件缺少以下条目:<section name="serverRuntime" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />。如果您没有此行,IIS 7.5 在启动 FTP 服务时将出现错误,并显示“未找到元素”消息,您的 FTP 站点当然将无法工作。
我使用 SourceGear 的 DiffMerge 进行比较。这是比较服务器配置的绝佳工具。最终,我可能可以使用此工具比较文件夹 C:\Windows\system32\inetsrv\config 中的 applicationHost.config 文件,并仅复制 7.5 文件中缺少的 7.0 条目。这非常耗费人力,但可能会奏效。如果您知道这些复活节彩蛋,使用共享配置方法会容易得多,否则找到它们会很困难!