Freigeben über


Migrieren einer Website von IIS 6.0 zu IIS 7 oder höher

von Faith A

Diese Kurzanleitung hilft Ihnen bei der Migration einer Website von IIS 6.0 zu IIS 7 oder höher mithilfe des Webbereitstellungstools.

Welche Arten von Migrationen kann ich mit dem Webbereitstellungstool ausführen?

  • Migrieren von 1 oder 1.000 Websites von IIS 6.0 zu IIS 7 oder höher, einschließlich aller Konfigurationseinstellungen, Inhalte und Zertifikate
  • Migrieren einer einzelnen Anwendung
  • Migrieren eines gesamten Servers (einschließlich aller Websites, Anwendungspools usw.) von IIS 6.0 zu IIS 7 oder höher
  • Migrieren eines benutzerdefinierten Manifests, das aus Sites, Anwendungspools, Baugruppen, COM-Objekten, Registrierungsschlüsseln und Inhalten von IIS 6.0 zu IIS 7 oder höher besteht

Voraussetzungen

Dieser Leitfaden erfordert die folgenden Voraussetzungen:

  • .NET Framework 2.0 SP1 oder höher
  • Webbereitstellungstool 1.1

Hinweis: Wenn Sie das Webbereitstellungstool noch nicht installiert haben, lesen Sie Installieren und Konfigurieren von Web Deploy.

Teil 1 ‒ Anzeigen der Abhängigkeiten Ihrer Site

  1. Rufen Sie die Abhängigkeiten der Website ab, indem Sie den folgenden Befehl ausführen:

    msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
    
  2. Überprüfen Sie die Ausgabe der Abhängigkeiten und suchen Sie nach Skript-Zuordnungen oder installierten Komponenten, die von der Site verwendet werden. Wenn die Website zum Beispiel die Windows-Authentifizierung verwendet, sehen Sie <Abhängigkeitsname==„WindowsAuthentication“ />.

  3. Wenn Ihre Site Skript-Zuordnungen geerbt hat, werden diese nicht in den Abhängigkeiten aufgeführt, und Sie sollten die Skript-Zuordnungen für Ihre Site auch manuell überprüfen.

  4. Erstellen Sie eine Liste der am Ziel benötigten Komponenten.

Detaillierte Schritte zum Analysieren der Ausgabe „getDependencies“ finden Sie unter Anzeigen von Abhängigkeiten.

Teil 2 ‒ Konfigurieren des Ziels

Überprüfen Sie die Liste der Abhängigkeiten und installieren Sie sie auf dem Zielserver.

Nehmen wir zum Beispiel an, dass Sie für Ihre Website die folgenden Daten verwendet haben:

  • ASP.NET
  • Windows-Authentifizierung
  • Anonyme Authentifizierung

Basierend auf dieser Analyse Ihrer Abhängigkeiten würden Sie die entsprechenden Komponenten und Module installieren.

Teil 3 ‒Migrieren Ihrer Site zum Ziel mit Hilfe einer Paketdatei

  1. Erstellen Sie immer eine Datensicherung des Zielservers. Selbst wenn Sie nur testen, können Sie damit den Zustand Ihres Servers leicht wiederherstellen.

    %windir%\system32\inetsrv\appcmd add backup "PreWebDeploy"
    
  2. Führen Sie auf dem Quellserver den folgenden Befehl aus, um eine (komprimierte) Paketdatei des Servers zu erstellen:

    msdeploy -verb:sync  -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip > WebDeployPackage.log
    
  3. Kopieren Sie die Paketdatei auf den Zielserver.

  4. Führen Sie den folgenden Befehl auf dem Zielserver aus, um zu überprüfen, was passieren würde, wenn eine Synchronisierung ausgeführt würde:

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > WebDeploySync.log
    
  5. Nachdem Sie die Ausgabe überprüft haben, führen Sie denselben Befehl noch einmal ohne die „whatif“-Kennzeichnung aus:

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 > WebDeploySync.log
    

{Optional – Migrieren Ihrer Site zum Ziel mithilfe des Webbereitstellungs-Agent-Diensts}

Wenn Sie kein Paket verwenden möchten, können Sie den Webbereitstellungs-Agent-Dienst (MsDepSvc, auch als „Remote-Dienst“ bezeichnet) verwenden, um von IIS 6.0 mit IIS 7 oder höher zu synchronisieren.

  1. Installieren Sie den Remote-Dienst entweder auf der Quelle oder dem Ziel, je nachdem, ob Sie von einer Remote-Quelle oder mit einem Remote-Ziel synchronisieren möchten.

  2. Starten Sie den Dienst auf dem Computer.

    net start msdepsvc
    
  3. Führen Sie den folgenden Befehl aus, um eine „Push“-Synchronisierung von der lokalen Quelle zu einem Remote-Ziel auszuführen (ersetzen Sie „Server1“ durch den Namen des Remotecomputers). Führen Sie den Befehl zuerst mit der „whatif“-Kennzeichnung aus und dann noch einmal ohne, nachdem Sie bestätigt haben, dass der Befehl die gewünschten Aktionen ausführt.

    msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log
    
  4. Führen Sie alternativ den folgenden Befehl aus, um eine „Pull“-Synchronisierung vom Remote-Ziel zu einer lokalen Quelle auszuführen (ersetzen Sie „Server1“ durch den Namen des Remotecomputers). Führen Sie den Befehl zuerst mit der „whatif“-Kennzeichnung aus und dann noch einmal ohne, nachdem Sie bestätigt haben, dass der Befehl die gewünschten Aktionen ausführt.

    msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
    

Sie haben jetzt die Migration Ihrer Site abgeschlossen. Testen Sie zur Überprüfung den Aufruf der Website auf dem Zielserver. Hilfe bei der Problembehandlung finden Sie unter Problembehandlung für Web Deploy.

Zusammenfassung

Sie haben eine Website von einem IIS 6.0-Quellserver mit einem IIS 7-Zielserver (oder höher) synchronisiert, indem Sie die Abhängigkeiten angezeigt, den IIS-Zielserver konfiguriert und eine Paketdatei oder den Webbereitstellungs-Agent-Dienst verwendet haben.