Iis 7 如何在iis7上复制/克隆站点

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文件。您可以手动修改此文件以快速创建网站副本。如果

我想制作一个我正在开发的iis网站的dev,demo1,demo2副本。我需要每个iis运行自己的代码库,但设置几乎相同。在Windows7Ultimate中,有没有一种简单的方法可以将我的开发人员iis克隆到一个新站点,而不必完全重新配置它?为每个iis配置虚拟目录需要20分钟以上的时间,这样可以节省我大量的工作。

请查看。它应该位于“c:\windows\system32\inetsrv\config”下。这是一个包含所有IIS配置数据的XML文件。您可以手动修改此文件以快速创建网站副本。如果您遇到问题,请确保首先进行备份。

使用adsutil.vbs复制网站如何

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>