我想制作一个我正在研究的iis网站的dev,demo1,demo2副本.我需要每个iis运行自己的代码库,但设置几乎相同.在Windows 7中是否有一种简单的方法可以将我的dev iis克隆到新站点而无需完全重新配置它?为每个iis配置虚拟目录需要20分钟,所以这可以节省我很多工作.
Dav*_*vid 50
看一下ApplicationHost.config文件.它应位于"c:\ windows\system32\inetsrv\config"下.这是一个包含所有IIS配置数据的XML文件.您可以手动修改此文件以快速创建网站副本.如果您遇到问题,请务必先备份.
Mat*_*ius 28
转到C:\Windows\system32\inetsrv\config制作ApplicationHost.config文件的副本.它是和XML文件.打开它并转到<configuration><system.applicationHost><sites>(' configuration\system.applicationHost\sites')找到要复制的站点(它将与IIS Management studio中的名称相同)然后复制该站点部分并将其粘贴到内部,<sites>然后分配新站点部分新的id和名称属性尚未使用的name="Test1" id="5".
<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>
Run Code Online (Sandbox Code Playgroud)
会克隆到.
<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>
Run Code Online (Sandbox Code Playgroud)
转到IIS管理工作室,如果您做的一切正确,将会有新的网站停止.

如果失败则使用备份副本进行覆盖ApplicationHost.config.
更新:根据评论,如果你在编辑时使用64位环境, ApplicationHost.config你想在管理模式下使用64位编辑器,记事本是一个.
希望这能为您节省一些时间.
小智 6
实际上上面的答案 - 编辑 ApplicationHost.config 只是工作的一半。您还需要将新的 AppPools 添加到 applicationPools 节点。
所以 :
1/。正如其他人提到的,首先复制您的 ApplicationHost.config 文件!我通常复制并重命名为“ApplicationHost_BACKUP_YYYY_MM_DD.config”
2/。使用记事本(Windows 缓解 32 位与 64 位问题的最佳选择)。搜索要复制的站点以查找(在我的情况下)'id="13"'。找到要复制的网站后。复制整个节点并在复制站点节点后粘贴。为其分配一个新 ID。请务必首先检查 IIS 中的站点以获取所有使用的 ID !另外一定要给它一个新的NAME 并更新复制部分中的所有 PATHS 和 APPPOOLS。请参阅下面的示例。
复制站点(当前):
<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>
Run Code Online (Sandbox Code Playgroud)
复制网站(新):
<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>
Run Code Online (Sandbox Code Playgroud)
3/。按照上面复制的站点中的配置将新的 Apppools 添加到 applicationPools 节点,即下面我复制了“阅读列表”应用程序池并将副本重命名为“阅读列表 2”
<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>
Run Code Online (Sandbox Code Playgroud)
如果一切顺利,请在 IIS 中查看站点并在需要时重新启动 :-)
希望能帮助某人。
理查德·赫瑟林顿
| 归档时间: |
|
| 查看次数: |
44210 次 |
| 最近记录: |