Freigeben über


Synchronisieren von IIS

von Faith A

Diese Kurzanleitung führt Sie durch den Prozess der Verwendung des Webbereitstellungstools zum Synchronisieren einer Website auf einem IIS-Quellcomputer mit einem IIS-Zielcomputer. Dazu können Sie Daten an ein Remoteziel "pushen" oder daten aus einer Remotequelle "ziehen". In diesem Handbuch werden sowohl Methoden als auch eine Option zum Verwenden einer Paketdatei angezeigt, sodass Sie den Web Deployment Agent Service (MsDepSvc oder "Remote-Agent-Dienst") nicht installieren müssen.)

Wie können Siemit dem Webbereitstellungstool synchronisieren?

  • Push (synchronisieren von einer lokalen Quelle an ein Remoteziel)
  • Pull (synchronisieren von einer Remotequelle mit einem lokalen Ziel)
  • Unabhängige Synchronisierung (Initiieren einer Synchronisierung von einem Computer, auf dem sowohl Ziel als auch Quelle remote sind)
  • Manuelle lokale Synchronisierung (Erstellen Sie eine Paketdatei der Quelle, und kopieren Sie sie auf das Ziel, und führen Sie sie dann lokal aus)

Voraussetzungen

Dieser Leitfaden erfordert die folgenden Voraussetzungen:

  • .NET Framework 2.0 SP1 oder höher
  • Web-Bereitstellungstool 1.1

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

Teil 1 : Anzeigen der Abhängigkeiten Ihrer Website

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

    msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
    
  2. Überprüfen Sie die Ausgabe der Abhängigkeiten und suchen Sie nach Skriptzuordnungen oder installierten Komponenten, die von der Site verwendet werden. Wenn die Windows-Authentifizierung beispielsweise von der Website verwendet wird, wird <Abhängigkeitsname="WindowsAuthentication" />angezeigt.

  3. Wenn Ihre Website Skriptzuordnungen erbt, werden diese nicht in den Abhängigkeiten aufgeführt, und Sie sollten auch die Skriptzuordnungen für Ihre Website manuell überprüfen.

  4. Kompilieren Sie eine Liste der komponenten, die für das Ziel erforderlich sind.

Ausführliche Schritte zum Analysieren der Ausgabe von "getDependencies" finden Sie unter .

Teil 2 - Konfigurieren des Ziels (Zielort)

Überprüfen Sie die Liste der Abhängigkeiten, und installieren Sie sie auf dem Zielserver. Nehmen wir beispielsweise an, Dass Sie folgendes für Ihre Website verwendet haben:

  • ASP.NET
  • Windows-Authentifizierung
  • Anonyme Authentifizierung

Basierend auf der Analyse Ihrer Abhängigkeiten würden Sie diese Komponenten auf dem Zielserver installieren, bevor Sie die Synchronisierung durchführen.

Teil 3 – Synchronisieren Ihrer Website mit dem Ziel

  1. Erstellen Sie immer eine Sicherung der Ziel- und Quellserver. Selbst wenn Sie gerade testen, können Sie den Zustand Ihres Servers problemlos wiederherstellen. Führen Sie den folgenden Befehl aus, um einen IIS 7- oder höher-Server zu sichern:

    %windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
    
  2. Installieren Sie den Remote-Agent-Dienst auf der Quelle oder dem Ziel, je nachdem, ob Sie die Daten aus einer Remotequelle abrufen oder die Daten an ein Remoteziel "übertragen" möchten.

  3. Starten Sie den Dienst auf dem Computer.

    net start msdepsvc
    
  4. Führen Sie den folgenden Befehl aus, um zu überprüfen, was passiert, wenn die Synchronisierung ausgeführt wurde. Die Flagge -whatif zeigt nicht jede Änderung; sie zeigt nur eine optimistische Ansicht dessen, was sich ändern könnte, wenn alles erfolgreich verläuft (z. B. werden keine Fehler erfasst, bei denen Sie nicht in das Ziel schreiben können).

    • Wird auf den Remote-Zielcomputer gepusht und auf dem Quellcomputer ausgeführt (das computerName-Argument identifiziert den Remote-Zielcomputer).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
      
    • Abrufen von einer entfernten Quelle, Ausführen auf der Zielmaschine (das Argument computerName identifiziert den Computer der entfernten Quelle).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
      
  5. Führen Sie nach der Überprüfung der Ausgabe denselben Befehl erneut ohne den Schalter -whatif aus:

    • Das Pushen zum entfernten Ziel erfolgt auf der Quellmaschine.

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
      
    • Abrufen von einer Remotequelle, ausgeführt auf dem Zielcomputer

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" > msdeploysync.log
      

{Optional – Synchronisieren Ihrer Website mit dem Ziel mithilfe einer Paketdatei}

Wenn Sie den Remotedienst nicht verwenden möchten, können Sie stattdessen ein Paket (komprimierte Datei) verwenden.

  1. Führen Sie den folgenden Befehl auf dem Quellserver aus, um ein Paket der Website für die Synchronisierung zu erstellen:

    msdeploy -verb:sync  -source:apphostconfig="Default Web Site" -dest:package=c:\site1.zip
    
  2. Kopieren Sie die Paketdatei auf den Zielserver.

  3. Führen Sie den folgenden Befehl auf dem Zielserver aus, um zu überprüfen, was passiert, wenn die Synchronisierung ausgeführt wurde:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
    
  4. Führen Sie nach der Überprüfung der Ausgabe denselben Befehl erneut aus, ohne das -whatif-Flag zu verwenden:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" > msdeploysync.log
    

Sie haben jetzt die Synchronisierung Ihrer Website abgeschlossen. Um dies zu überprüfen, testen Sie das Browsen auf der Website auf dem Zielserver. Hilfe zur Problembehandlung finden Sie unter Problembehandlung bei Web Deploy.

Zusammenfassung

Sie haben nun eine Website von einem IIS-Quellserver mit einem IIS-Zielserver synchronisiert, einschließlich des Anzeigens der Abhängigkeiten, konfigurieren des IIS-Zielservers und Ausführen der Synchronisierung.