![如何将单个应用程序从 IIS6 迁移到 IIS7?](https://linux22.com/image/576479/%E5%A6%82%E4%BD%95%E5%B0%86%E5%8D%95%E4%B8%AA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%BB%8E%20IIS6%20%E8%BF%81%E7%A7%BB%E5%88%B0%20IIS7%EF%BC%9F.png)
我目前有许多应用程序在 Windows Server 2003 系统上运行。我们想将其中一个应用程序迁移到 Windows Server 2008 R2 机器上的 IIS7。这是一个新的 Web 服务器,安装了 IIS,但没有其他任何东西。
我知道如何迁移整个服务器,甚至整个站点,但是如何迁移服务器范围的设置、站点范围的设置、应用程序使用的应用程序池以及应用程序本身?
答案1
基本答案是:使用 Web 部署工具。
你可以使用类似
msdeploy -sync -source:metakey=lm/w3svc/1 -dest:package=c:\backupSite.zip -enableLink:AppPool
(在哪里1在源计算机上执行以下命令:在源计算机上执行以下命令(即 IIS 站点标识符),然后在目标计算机上执行相反的操作:
msdeploy -sync -source:package=c:\backupSite.zip -dest:metakey=lm/w3svc/1
将其还原到 IIS7 服务器时,您仍然需要使用与源指定相同的还原目标类型(即 metakey)。
您可以在末尾添加 -whatif 来查看它计划做什么。
更多内容请见: http://technet.microsoft.com/en-us/library/ff633422(v=WS.10).aspx
和这里: http://learn.iis.net/page.aspx/427/migrate-a-web-site-from-iis-60-to-iis-7-or-above/
答案2
以下是我刚刚执行的命令:
msdeploy -verb:sync
-source:metakey=lm/w3svc/1,computerName=original,encryptPassword="pwd",includeAcls=true
-disableLink:ContentExtension
-dest:package=original.zip,encryptPassword="pwd"
-enableLink:AppPool
-skip:WebApplication="^.*$" >original.log
此后,我从最新的 Web 部署包部署了应用程序本身。
我遇到了一些问题。首先,当我在 IIS 管理器中单击“默认网站”时,出现错误,提示应用程序“/”未定义。我需要将站点目录设置为D:\inetpub\wwwroot
。
此外,上述命令准确地迁移了原始服务器的 IP 地址。需要编辑绑定才能使用正确的 IP 地址。
除此之外,现在一切看上去都很好。