it-swarm.com.de

Wie migrieren Sie eine IIS 7 Site zu einem anderen Server?

Ich frage mich, was die beste Vorgehensweise ist, um eine Website auf einen anderen Server zu verschieben (zusammen mit allen Einstellungen usw.).

  • Manuelles Erstellen der Site auf dem neuen Server (aus offensichtlichen Gründen nicht wartbar)
  • Kopieren Sie die Einstellungsdatei applicationHost.config
  • Verwenden Sie appcmd, um eine Sicherung und Wiederherstellung durchzuführen
  • Verwenden Sie MSDeploy, um die Site auf dem neuen Computer zu veröffentlichen
  • Verwenden Sie ein Drittanbieter-Tool

Ich frage mich nur, welche Erfahrungen die anderen gemacht haben.

90
Kalid

Ich würde sagen, exportieren Sie Ihre Server-Konfiguration in IIS Manager:

  1. Klicken Sie in IIS Manager auf den Serverknoten
  2. Gehen Sie zu "Gemeinsame Konfiguration" unter "Verwaltung".
  3. Klicken Sie auf "Konfiguration exportieren". (Sie können ein Kennwort verwenden, wenn Sie sie über das Internet senden. Wenn Sie sie nur über einen USB-Stick verschieben, schwenken Sie sie nicht.)
  4. Verschieben Sie diese Dateien auf Ihren neuen Server

    administration.config
    applicationHost.config
    configEncKey.key 
    
  5. Gehen Sie auf dem neuen Server zurück zum Abschnitt "Shared Configuration" und aktivieren Sie die Option "Shared Configuration aktivieren". Geben Sie den Ort im physischen Pfad zu diesen Dateien ein und übernehmen Sie sie.

  6. Es sollte zur Eingabe des Verschlüsselungskennworts auffordern (sofern Sie es festgelegt haben) und IIS zurücksetzen.

BAM! Gehen Sie auf ein Bier!

113
chews

MSDeploy kann alle Inhalte, Konfigurationen usw. migrieren. Dies wird vom IIS Team empfohlen. http://www.iis.net/extensions/WebDeploymentTool

Führen Sie zum Erstellen eines Pakets den folgenden Befehl aus (ersetzen Sie die Standardwebsite durch den Namen Ihrer Website):

msdeploy.exe -verb:sync -source:apphostconfig="Default Web Site" -dest:package=c:\dws.Zip > DWSpackage7.log

Führen Sie den folgenden Befehl aus, um das Paket wiederherzustellen:

msdeploy.exe -verb:sync -source:package=c:\dws.Zip -dest:apphostconfig="Default Web Site" > DWSpackage7.log
22
Bill Staples

Hier ist eine hilfreiche Website zur Verwendung von appcmd zum Exportieren/Importieren einer Website-Konfiguration . http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools -von-is-7-and-7-5/

17
Roy

Microsoft Web Deploy v3 kann alle Ihre Dateien, Konfigurationseinstellungen usw. exportieren und importieren. Alle Dateien werden in einem Zip-Archiv gespeichert, das auf dem neuen Server importiert werden kann. Es kann sogar ein Upgrade auf neuere Versionen von IIS (V7-V8) durchgeführt werden. 

http://www.iis.net/extensions/WebDeploymentTool

Nach der Installation des Tools: Klicken Sie mit der rechten Maustaste auf Ihren Server oder Ihre Website in der IIS Management Console, wählen Sie 'Deploy' und 'Export Application ...' aus und führen Sie den Export durch.

Importieren Sie auf dem neuen Server das exportierte Zip-Archiv auf dieselbe Weise.

12
Zymotik

Ich kann den Thread wegen fehlender Wiederholung nicht kommentieren. Ein anderer Kommentator erklärte, dass sie nicht von einer niedrigeren Version zu einer höheren Version von IIS migrieren könnten. Dies trifft zu, wenn Sie einige Dateien nicht zusammenführen, aber wenn Sie dies tun, können Sie meine IIS 7.5-Site unter Verwendung der von chews veröffentlichten Antwort auf IIS 8.0 migrieren.

Wenn der Export erstellt wird (II7.5), gibt es zwei Schlüsseldateien (administration.config und applicationHost.config), die auf Ressourcen auf dem IIS7.5-Server verweisen. Beispielsweise wird ein DLL mit einem öffentlichen Schlüssel und einer für 7.5 spezifischen Version referenziert. Diese sind auf dem IIS8-Server NICHT identisch. Die Konfiguration der Funktionen kann sich auch unterscheiden (ich stellte sicher, dass meine identisch waren). Es gibt einige neue Funktionen in 8, die in 7.5 nie existieren werden.

Wenn Sie mutig genug sind, die beiden Dateien zusammenzuführen, wird es funktionieren. Ich musste IIS einmal deinstallieren, weil ich es vermasselt habe, aber das zweite Mal bekam ich es.

Ich habe ein Merge-Tool (Beyond Compare) verwendet, und ohne etwas Äquivalent wäre es eine riesige PITA - aber mit einem guten Diff-Tool (fünf Minuten) war es ziemlich einfach.

Um die Zusammenführung durchzuführen, müssen die 8.0-Dateien mit den exportierten 7.5-Dateien verglichen werden, BEVOR ein Import versucht wird. Meist müssen die 8.0-Dateien die serverspezifischen Elemente in den exportierten 7.5-Dateien überschreiben, während die spezifischen Inhalte des Site-/App-Pools übrig bleiben.

Ich habe festgestellt, dass administration.config fast identisch ist, ohne dass die Versionsinformationen vieler Einträge vorliegen. Dieser war einfach.

Die applicationHost.config weist viele weitere Unterschiede auf. Einige Einträge sind anders angeordnet, aber ansonsten identisch, so dass Sie jeden Unterschied durchgehen und herausfinden müssen.

Ich habe meine 7.5 Exportdateien vor dem Zusammenführen in den Ordner System32\inetsrv\config\Export gestellt.

Ich habe FROM Ordner System32\inetsrv\config zu Ordner System32\inetsrv\config\Export für beide Dateien zusammengeführt, die ich oben erwähnt habe. Ich habe alles in den FROM-Dateien verschoben, außer site-spezifische Tags/Elemente (z. B. applicationPools, customMetadata, Sites, Authentifizierung). Besonders hervorzuheben sind auch viele standortspezifische "location" -Tagblöcke, die ich beibehalten musste, aber der neue Server hatte seinen eigenen "location" -Tagblock mit serverspezifischen Standardwerten, der beibehalten werden muss.

Beachten Sie zum Schluss, dass diese zwischengespeicherten Kennwörter bei Verwendung von Dienstkonten als Junk gelten und für Ihre App-Pools erneut eingegeben werden müssen. Anfangs funktionierte keine meiner Websites, aber alles, was erforderlich war, war die erneute Eingabe der Kennwörter für alle meine App-Pools, und ich war betriebsbereit.

Wenn jemand, der dies kommentieren kann, diesen Thread im Nachhinein erwähnen kann, wird er wahrscheinlich jemandem wie mir helfen, der viele Sites auf einem Server mit komplizierten Konfigurationen hat.

Grüße,

Stuart

3
Stuart

verwenden Sie appcmd, um eine oder alle Sites zu exportieren, und importieren Sie sie anschließend auf dem neuen Server. Es könnte iis7.0 oder 7.5 sein. Wenn Sie mit appcmd exportieren, werden die Passwörter entschlüsselt, dann erneut importiert und sie werden erneut verschlüsselt.

3
Jim

In meinem Fall waren die Dateien bereits kopiert. Ich fand die einfachste Möglichkeit, die Schritte in diesem Handbuch zu befolgen: https://www.ryadel.com/de/exporting-importing-app-pools-and-websites-configuration -zwischen-mehreren-is-Instanzen/

Ich exportierte AppPools/Websites, kopierte die XML-Dateien auf den Zielserver und importierte AppPools und dann Websites. Sehr gut gearbeitet Dies ist auch eine weitere ausgezeichnete Option für diese Frage.

0
Ralph