私が取り組んでいるiisウェブサイトのdev、demo1、demo2のコピーを作りたいです。各iisを独自のコードベースから実行する必要がありますが、設定はほとんど同じです。 Windows 7 Ultimateで、完全に再構成せずに新しいサイトにdev iisを複製する簡単な方法はありますか?各iisの仮想ディレクトリを構成するには20分以上かかるため、これにより多くの作業を節約できます。
ApplicationHost.configファイル を見てください。 「c:\ windows\system32\inetsrv\config」の下に配置する必要があります。これは、すべてのIIS構成データを含むXMLファイルです。このファイルを手動で変更して、Webサイトのコピーをすばやく作成できます。問題が発生した場合は、最初にバックアップを作成してください。 。
C:\Windows\system32\inetsrv\config
に移動して、ApplicationHost.config
ファイルのコピーを作成します。 XMLファイルです。それを開いて<configuration><system.applicationHost><sites>
( 'configuration\system.applicationHost\sites
')に進み、複製したいサイトを見つけます(IIS Management studio)と同じ名前になります)そのサイトセクションをコピーして<sites>
内に貼り付け、新しいサイトセクションにまだ使用されていない新しいidおよびname属性を割り当てます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>
にクローンされます。
<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>
IIS Management studioに移動すると、すべてを正しく行った場合、新しいWebサイトが停止します。
失敗した場合は、バックアップコピーを使用してApplicationHost.config
を上書きします。
UPDATE:ApplicationHost.config
を編集するときに64ビット環境を使用している場合、管理モードで64ビットエディターを使用する場合のコメントによると メモ帳は1つです 。
これで時間を節約できることを願っています。
実際、上記の答え-ApplicationHost.configの編集は、仕事の半分だけです。また、新しいAppPoolsをapplicationPoolsノードに追加する必要があります。
したがって:
1 /。他の人が言及したように、最初にApplicationHost.configファイルのコピーを作成します!!私は通常、「ApplicationHost_BACKUP_YYYY_MM_DD.config」としてコピーして名前を変更します
2 /。メモ帳の使用(32ビットと64ビットの問題を軽減するWindowsに最適なオプション)。 (私の場合) 'id = "13"'を探してコピーするサイトを検索します。コピーしたいサイトが見つかったら。ノード全体をコピーし、サイトノードのコピー後に貼り付けます。新しいIDを割り当てます。 IISで最初にすべての使用済みIDのサイトを確認してください!!また、新しい名前を付けて、コピーされたセクションのすべての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>
コピーされたサイト(新規):
<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>
3 /。上記のコピーされたサイトで構成されているようにapplicationPoolsノードに新しいApppoolを追加します。つまり、「Reading List」apppoolをコピーし、コピーの名前を「Reading List 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>
すべてが順調であれば、IISでサイトを表示し、必要に応じて再起動します:-)
それが誰かを助けることを願っています。
リチャード・ヘザリントン
Adsutil.vbsを使用してWebサイトをコピーするのはどうですか?
C:\Inetpub\AdminScripts> adsutil.vbs copy <source> <destination>
例えば
C:\Inetpub\AdminScripts> adsutil.vbs copy w3svc/1 w3svc/556
w3svc/
表記の理由は、最初にadsutil.vbs ENUM /P W3SVC
を実行するとより明確になります。
参照: