(すべての設定などとともに)Webサイトを別のサーバーに移動するためのベストプラクティスは何でしょうか。
- 新しいサーバーでサイトを手動で再作成します(明らかな理由により、保守できません)
- applicationHost.config設定ファイルをコピーします。
- appcmdを使用してバックアップと復元を行う
- MSDeployを使用して新しいマシンでサイトを公開する
- サードパーティツールを使用する
他の人の経験はどうなっていたのだろう。
(すべての設定などとともに)Webサイトを別のサーバーに移動するためのベストプラクティスは何でしょうか。
他の人の経験はどうなっていたのだろう。
回答:
IISマネージャーでサーバー構成をエクスポートします。
これらのファイルを新しいサーバーに移動します
administration.config
applicationHost.config
configEncKey.key
新しいサーバーで、[共有構成]セクションに戻り、[共有構成を有効にする]をオンにします。これらのファイルへの物理パスの場所を入力して適用します。
バム!ビールを飲みに行きます!
MSDeployは、IISチームが推奨するすべてのコンテンツ、構成などを移行できます。 http://www.iis.net/extensions/WebDeploymentTool
パッケージを作成するには、次のコマンドを実行します(既定のWebサイトを自分のWebサイト名に置き換えます)。
msdeploy.exe -verb:sync -source:apphostconfig="Default Web Site" -dest:package=c:\dws.zip > DWSpackage7.log
パッケージを復元するには、次のコマンドを実行します。
msdeploy.exe -verb:sync -source:package=c:\dws.zip -dest:apphostconfig="Default Web Site" > DWSpackage7.log
appcmdを使用してサイト構成をエクスポート/インポートするのに役立つWebサイトを次に示します。 http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5/
Microsoft Web Deploy v3は、すべてのファイル、構成設定などをエクスポートおよびインポートできます。すべてを新しいサーバーにインポートできるzipアーカイブに入れます。IISの新しいバージョン(v7〜v8)にアップグレードすることもできます。
http://www.iis.net/extensions/WebDeploymentTool
ツールをインストールした後: IIS管理コンソールでサーバーまたはWebサイトを右クリックし、[展開]、[アプリケーションのエクスポート...]の順に選択して、エクスポートを実行します。
新しいサーバーで、エクスポートしたzipアーカイブを同じ方法でインポートします。
担当者がいないため、スレッドをコメントできません。別のコメンターは、IISの下位バージョンから上位バージョンに移行できないと述べました。これは、一部のファイルをマージしない場合に当てはまりますが、チュウの投稿した回答を使用してIIS 7.5サイトをIIS 8.0に移行しただけで可能です。
エクスポートが作成されると(II7.5)、IIS7.5サーバー上のリソースへの参照を持つ2つのキーファイル(administration.configおよびapplicationHost.config)があります。たとえば、DLLは7.5に固有の公開鍵とバージョンで参照されます。これらは、IIS8サーバーでは同じではありません。機能の構成も異なる場合があります(私が同じであることを確認しました)。7.5には存在しない8の新機能がいくつかあります。
あなたが2つのファイルをマージするのに十分勇気があるなら-それはうまくいくでしょう。IISを台無しにしたため、一度アンインストールする必要がありましたが、2回目にそれを取得しました。
私はマージツール(Beyond Compare)を使用しましたが、同等のものがなければ、それは巨大なPITAになりますが、優れたdiffツール(5分)を使用するとかなり簡単でした。
マージを行うには、インポートを試行する前に、8.0ファイルをエクスポートした7.5ファイルと比較する必要があります。ほとんどの場合、8.0ファイルは、エクスポートされた7.5ファイル内のサーバー固有のものを上書きし、サイト/アプリプール固有のものは残す必要があります。
私は、administration.configがほとんど同一であることを発見しました。多くのエントリのバージョン情報ではありません。これは簡単でした。
applicationHost.configには、さらに多くの違いがあります。一部のエントリは異なる順序で並べられていますが、それ以外は同一であるため、それぞれの違いを調べて理解する必要があります。
マージする前に、7.5エクスポートファイルをSystem32 \ inetsrv \ config \ Exportフォルダに配置しました。
上記の2つのファイルについて、FROMフォルダーSystem32 \ inetsrv \ configをフォルダーSystem32 \ inetsrv \ config \ Exportにマージしました。サイト固有のタグ/要素(applicationPools、customMetadata、サイト、認証など)を除いて、FROMファイルのすべてをプッシュしました。特筆すべきは、私が保持しなければならないサイト固有の「場所」タグブロックも多数ありましたが、新しいサーバーには独自の「場所」タグブロックがあり、サーバー固有のデフォルトを保持する必要があります。
最後に、サービスアカウントを使用する場合、これらのキャッシュされたパスワードはジャンクであり、アプリプールに再入力する必要があることに注意してください。最初は私のサイトはどれも機能しませんでしたが、必要なのはすべてのアプリプールのパスワードを再入力することだけでした。
コメントできる人がこの投稿をスレッドで言及した場合-おそらく、複雑な構成の1つのサーバー上に多くのサイトを持っている私のような誰かを助けるでしょう。
よろしく、
スチュアート
私の場合、ファイルはすでにコピーされています。このガイドの手順に従う最も簡単な方法を見つけました:https : //www.ryadel.com/en/exporting-importing-app-pools-and-websites-configuration-between -multiple-iis-instances /
AppPools / Websitesをエクスポートし、xmlファイルを宛先サーバーにコピーして、AppPoolsをインポートしてからWebサイトをインポートしました。とてもうまくいきました。これは、この質問のもう1つの優れたオプションです。