IIS synchronisieren
von Faith A
Diese Kurzanleitung führt Sie durch den Prozess der Verwendung des Web Deployment Tools zur Synchronisierung einer Website auf einem IIS-Quellcomputer mit einem IIS-Zielcomputer. Sie können dies tun, indem Sie Daten an ein entferntes Ziel "pushen" oder indem Sie Daten von einer entfernten Quelle "ziehen". 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.
Wie können Sie mit dem Webbereitstellungstool synchronisieren?
- 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 und Konfigurieren 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:apphostconfig="Default Web Site"
Ü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 Zielort benötigten Komponenten.
Detaillierte Schritte zum Analysieren der Ausgabe von Abhängigkeiten abrufen finden Sie unter Anzeigen von Webseite-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 einer Analyse Ihrer Abhängigkeiten würden Sie diese Komponenten auf dem Zielserver installieren, bevor Sie die Synchronisierung durchführen.
Teil 3 - Synchronisieren Sie Ihre Website 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. Führen Sie den folgenden Befehl aus, um einen IIS 7 oder höheren Server zu sichern:
%windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
Installieren Sie den Remote-Agent-Dienst auf der Quelle oder dem Ziel, je nachdem, ob Sie die Daten von einer entfernten Quelle "ziehen" oder zu einem entfernten Ziel "schieben" wollen.
Starten Sie den Dienst auf dem Computer.
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. DieFlagge wird nichtEs 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).
Drücken an ein entferntes Ziel, das auf dem Quellcomputer läuft (das Argument Computer Name identifiziert den entfernten Zielcomputer).
msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
Abruf von einer entfernten Quelle, die auf dem Zielcomputer läuft (das Argument Computername identifiziert den entfernten Quellcomputer).
msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -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:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
Pullen von einer Remote-Quelle, 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 Site mit dem Ziel mit Hilfe einer Paketdatei}
Wenn Sie den Ferndienst nicht nutzen möchten, können Sie stattdessen ein Paket (eine komprimierte Datei) verwenden.
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
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:apphostconfig="Default Web Site" -whatif > msdeploysync.log
Nachdem Sie die Ausgabe überprüft haben, führen Sie denselben Befehl noch einmal ohne das Flagge -was wenn aus
msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" > msdeploysync.log
Die Synchronisierung Ihrer Website 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 nun eine Website von einem IIS-Quellserver mit einem IIS-Zielserver synchronisiert, einschließlich der Anzeige der Abhängigkeiten, der Konfiguration des IIS-Zielservers und der Durchführung der Synchronisierung.