Iis 7 如何在iis7上复制/克隆站点
我想制作一个我正在开发的iis网站的dev,demo1,demo2副本。我需要每个iis运行自己的代码库,但设置几乎相同。在Windows7Ultimate中,有没有一种简单的方法可以将我的开发人员iis克隆到一个新站点,而不必完全重新配置它?为每个iis配置虚拟目录需要20分钟以上的时间,这样可以节省我大量的工作。请查看。它应该位于“c:\windows\system32\inetsrv\config”下。这是一个包含所有IIS配置数据的XML文件。您可以手动修改此文件以快速创建网站副本。如果您遇到问题,请确保首先进行备份。使用adsutil.vbs复制网站如何Iis 7 如何在iis7上复制/克隆站点,iis-7,windows-7,Iis 7,Windows 7,我想制作一个我正在开发的iis网站的dev,demo1,demo2副本。我需要每个iis运行自己的代码库,但设置几乎相同。在Windows7Ultimate中,有没有一种简单的方法可以将我的开发人员iis克隆到一个新站点,而不必完全重新配置它?为每个iis配置虚拟目录需要20分钟以上的时间,这样可以节省我大量的工作。请查看。它应该位于“c:\windows\system32\inetsrv\config”下。这是一个包含所有IIS配置数据的XML文件。您可以手动修改此文件以快速创建网站副本。如果
C:\Inetpub\AdminScripts> adsutil.vbs copy <source> <destination>
如果首先执行adsutil.vbs ENUM/p w3svc
,则使用w3svc/
符号的原因更为明显
参考资料:
C:\Windows\system32\inetsrv\config
复制ApplicationHost.config
文件。它是一个XML文件。打开它并转到
(“configuration\system.applicationHost\sites
”)找到要复制的站点(它将与IIS Management studio中的站点同名)然后复制该站点部分并将其粘贴到下面的
中,然后为新站点部分分配尚未使用的新id和名称属性name=“Test1”id=“5”
希望这能为您节省一些时间。事实上,上面的答案——编辑ApplicationHost.config只完成了一半。您还需要将新的AppPool添加到applicationPools节点
因此:
1/。正如其他人所提到的,首先复制ApplicationHost.config文件!!我通常复制并重命名为“ApplicationHost\u BACKUP\u yyy\u MM\u DD.config”
2/。使用记事本(Windows缓解32位与64位问题的最佳选项)。搜索要复制的站点,查找(在我的情况下)“id=”13“。找到要复制的站点后。复制整个节点,并在复制站点节点后粘贴它。为其分配一个新ID。请确保首先检查IIS中的站点是否有所有已使用的ID!!还要确保给它一个新名称,并更新复制部分中的所有路径和应用程序池。见下面的例子
要复制的站点(当前):
复制的站点(新):
3/。将新的应用程序池添加到applicationPools节点,如上面(即下面)复制的站点中配置的。我已复制了“阅读列表”应用程序池,并重命名了副本“阅读列表2”
如果一切正常,请在IIS中查看站点,并在需要时重新启动:-)
希望这能帮助别人
Richard Hetherington哈,是的,我有这个想法,但根据我的经验,触摸那个文件是不可预测的。克隆功能听起来确实应该得到支持。不过,我会备份并尝试一下,谢谢D。听起来在64位环境中(在system32
和SysWOW64
下)有两个ApplicationHost.config
副本,但它们链接到同一个文件。然而,当我添加我需要克隆的应用程序池和站点的副本时,IIS管理器中没有任何变化——没有新的池,没有新的站点。同样,这完全是疯狂的。在64位服务器上,唯一有效的方法是使用基本windows记事本编辑system32\ApplicationHost.config
。更具体地说,您需要在64位服务器上使用64位编辑器。否则,它不会更新更改。参考:@JurijsKastanovs谢谢,已添加到答案中-因此不会在评论中丢失。还请注意,applicationHost.config中可能有更多设置需要复制,例如,如果您使用不同的身份验证设置,请使用
。
C:\Inetpub\AdminScripts> adsutil.vbs copy w3svc/1 w3svc/556
<site name="Test" id="4" serverAutoStart="true">
<application path="/" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OnTheMove\tags\Release 2.1.7.7\Offline\OfflineRouteHandler" userName="administrator" password="[enc:AesProvider:K0YvJ9r+XXNP8VUrZlbCPQ==:enc]" />
</application>
<application path="/Offline_Tablet" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OTM\Offline\OnTheMoveOffline" userName="administrator" password="[enc:AesProvider:tT9uIWQDtIZTRnSMmx8XmIQv0lr7AbUXcuGby5qRZSo=:enc]" />
</application>
<application path="/OnTheMoveWebFiles" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OTM\Offline\OnTheMoveOffline\OnTheMoveWebFiles" userName="administrator" password="[enc:AesProvider:zZgL59H6ka6jehb9BPTaNR8ogdgc8S90c3vf8p6MjPc=:enc]" />
</application>
<application path="/eai_enu" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OTM\Offline\OfflineRouteHandler" userName="administrator" password="[enc:AesProvider:MfaNJz14gaJK5EjgIqhj4w==:enc]" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:" />
</bindings>
</site>
<site name="Test1" id="5" serverAutoStart="true">
<application path="/" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OnTheMove\tags\Release 2.1.7.7\Offline\OfflineRouteHandler" userName="administrator" password="[enc:AesProvider:K0YvJ9r+XXNP8VUrZlbCPQ==:enc]" />
</application>
<application path="/Offline_Tablet" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OTMTrunk\Offline\OnTheMoveOffline" userName="administrator" password="[enc:AesProvider:tT9uIWQDtIZTRnSMmx8XmIQv0lr7AbUXcuGby5qRZSo=:enc]" />
</application>
<application path="/OnTheMoveWebFiles" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OTMTrunk\Offline\OnTheMoveOffline\OnTheMoveWebFiles" userName="administrator" password="[enc:AesProvider:zZgL59H6ka6jehb9BPTaNR8ogdgc8S90c3vf8p6MjPc=:enc]" />
</application>
<application path="/eai_enu" applicationPool="Test">
<virtualDirectory path="/" physicalPath="C:\OTMTrunk\Offline\OfflineRouteHandler" userName="administrator" password="[enc:AesProvider:MfaNJz14gaJK5EjgIqhj4w==:enc]" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:" />
</bindings>
</site>
<site name="Reading List" id="13" serverAutoStart="true">
<application path="/" applicationPool="Reading List">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\reading_list\http" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:readinglist.jsgroup.local" />
</bindings>
</site>
<site name="Reading List" id="14" serverAutoStart="true">
<application path="/" applicationPool="Reading List 2">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\reading_list_2\http" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:readinglist2.jsgroup.local" />
</bindings>
</site>
<applicationPools>
<add name="DefaultAppPool" autoStart="true" managedRuntimeVersion="v4.0">
<processModel identityType="ApplicationPoolIdentity" />
</add>
<add name="Reading List" autoStart="true" managedRuntimeVersion="v4.0" />
<add name="Reading List 2" autoStart="true" managedRuntimeVersion="v4.0" />
<!-- Other AppPools here -->
</applicationPools>