Synchronisieren von IIS 6.0-Websites
von Faith A
Diese Kurzanleitung führt Sie durch den Prozess der Verwendung des Webbereitstellungstools zur Synchronisierung einer Website von einem IIS 6.0-Quellcomputer auf einem IIS 6.0-Zielcomputer. Sie können dies tun, indem Sie Daten an ein Remote-Ziel „pushen“ oder indem Sie Daten von einer Remote-Quelle „pullen“. Dieser Leitfaden zeigt beide Methoden sowie eine Option zur Verwendung einer Paketdatei, sodass Sie den Webbereitstellungs-Agent-Dienst (MsDepSvc oder „Remote-Agent-Dienst“) nicht installieren müssen.
Welche Möglichkeiten der Synchronisierung gibt es mit dem Webbereitstellungstool?
- Pushen (Synchronisierung von einer lokalen Quelle zu einem Remote-Ziel)
- Pullen (Synchronisierung von einer Remote-Quelle zu einem lokalen Ziel)
- Unabhängige Synchronisierung (Initiierung einer Synchronisierung von einem Computer, bei dem sowohl das Ziel als auch die Quelle remote sind)
- Manuelle lokale Synchronisierung (Erstellen einer Paketdatei der Quelle und Kopieren dieser auf das Ziel, dann lokales Ausführen)
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 von Web Deploy.
Teil 1 ‒ Anzeigen der Abhängigkeiten Ihrer Site
Rufen Sie die Abhängigkeiten der Website ab, indem Sie den folgenden Befehl ausführen:
msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
Ü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“ />.
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.
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 (Zielanbieter)
Ü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
Auf der Grundlage dieser Analyse Ihrer Abhängigkeiten würden Sie zugehörigen Komponenten auf dem Zielserver installieren, bevor Sie die Synchronisierung durchführen.
Teil 3 ‒ Synchronisieren Ihrer Site mit dem Ziel
Erstellen Sie immer eine Sicherungskopie von Ziel- und Quellserver. Selbst wenn Sie nur testen, können Sie damit den Zustand Ihres Servers leicht wiederherstellen.
iisback /backup /b PreWebDeploy
Installieren Sie den Remote-Dienst auf der Quelle oder dem Ziel, je nachdem, ob Sie die Daten von einer Remote-Quelle „pullen“ oder zu einem Remote-Ziel „pushen“ wollen.
Starten Sie den Dienst auf dem Server.
net start msdepsvc
Führen Sie den folgenden Befehl aus, um zu überprüfen, was passieren würde, wenn die Synchronisierung ausgeführt würde. Die -whatif-Kennzeichnung markiert nicht jede Änderung. Es wird nur eine optimistische Ansicht dessen angezeigt, was sich ändern könnte, wenn alles erfolgreich ist (zum Beispiel werden keine Fehler erkannt, bei denen Sie nicht in das Ziel schreiben können).
Pushen an ein Remote-Ziel, das auf dem Quellcomputer ausgeführt wird (das Argument computerName identifiziert den entfernten Zielcomputer).
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log
Pullen von einer entfernten Quelle, die auf dem Zielcomputer ausgeführt wird (das Argument computerName identifiziert den Remote-Quellcomputer).
msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
Nachdem Sie die Ausgabe überprüft haben, führen Sie denselben Befehl noch einmal ohne die -whatif-Kennzeichnung aus:
Pushen an ein Remote-Ziel, ausgeführt auf dem Quellcomputer
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 > msdeploysync.log
Pullen von einer Remote-Quelle, ausgeführt auf dem Zielcomputer
msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 > msdeploysync.log
{Optional ‒ Synchronisieren Ihrer Site mit dem Ziel mit Hilfe einer Paketdatei}
Wenn Sie den Remote-Dienst nicht nutzen möchten, können Sie stattdessen ein Paket (eine komprimierte Datei) verwenden.
Führen Sie den folgenden Befehl auf dem Zielserver aus, um ein Paket der Websitequelle zu erstellen:
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip
Kopieren Sie die Paketdatei auf den Zielserver.
Führen Sie den folgenden Befehl auf dem Zielserver aus, um zu überprüfen, was passieren würde, wenn die Synchronisierung ausgeführt würde:
msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
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 > msdeploysync.log
Die Synchronisierung Ihrer Site ist nun 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 6.0-Zielserver synchronisiert, indem Sie die Abhängigkeiten angezeigt, den IIS 6.0-Zielserver konfiguriert und eine Paketdatei oder den Webbereitstellungs-Agent-Dienst verwendet haben.