GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Starten Sie eine Windows-Webfarm mit Web Deploy

Einführung

Dieser Artikel richtet sich an Systemadministratoren mit mindestens mittleren Kenntnissen, die mit dem Betrieb und der Verwaltung des Betriebssystems Windows Server® 2012 arbeiten.

Sie können eine Webfarm für Internetinformationsdienste (IIS) nicht mithilfe von Microsoft® Web Farm Framework (WFF) in IIS8 starten. Microsoft sagt, dass sie die WFF-Technologie nicht aufgeben, aber sie haben keine Lösung bereitgestellt.

Dieser Artikel zeigt Ihnen jedoch, wie Sie Web Deploy- und PowerShell®-Skripts verwenden, um Ihre Webinhalte zu synchronisieren, während Sie sie von einem einzelnen primären Server aus verwalten. Dieser Prozess ist nicht so schnell oder GUI-freundlich wie WFF, aber er verwendet offizielle Microsoft-Technologie und hält Ihre Webinhalte synchronisiert.

Vorbereitung

Erstellen Sie zunächst ein neues Benutzerkonto mit demselben Benutzernamen und Kennwort auf jedem Server in der Farm. Machen Sie dieses Konto zu einem Mitglied der lokalen Administratoren Gruppe auf jedem Server. Fügen Sie dieses Konto auf dem primären Server zu Log On As Batch hinzu Sicherheitseinstellung, indem Sie zu Verwaltung -> Lokale Sicherheitsrichtlinie -> Lokale Richtlinien -> Zuweisen von Benutzerrechten navigieren .Diese Übung verwendet die folgenden Anmeldeinformationen:

Username: SyncMan
Password: P@ss1234

Erstellen Sie auf jedem Ihrer sekundären Cloud-Server eine Windows-Firewallregel, um ALLEN DATENVERKEHR zuzulassen vom primären Server.

Führen Sie nur auf dem primären Server die folgenden Aktionen aus:

  • Erstellen Sie ein gemeinsames Verzeichnis, z. B. C:\WebSync , um die Web Deploy-Vorlagen zu speichern.

  • Öffnen Sie ein PowerShell-Fenster und führen Sie Set-ExecutionPolicy Unrestricted aus . Geben Sie bei Aufforderung Y ein und drücken Sie die EINGABETASTE.

Um Ihre Skripts zu vereinfachen, ändern Sie C:\Windows\system32\drivers\etc\Hosts , um eine Auflistung für jeden Knoten einzuschließen und seine interne IP-Adresse mit einem Easyhost-Namen wie WEB2 abzugleichen .

Webbereitstellung

Laden Sie Web Deploy von IIS herunter und installieren Sie es auf jedem Server in der Farm.

Skripte

Führen Sie die folgenden Schritte aus, um zwei Skripts auf dem primären Server zu erstellen.

Batch-Skript

Öffnen Sie eine neue Notepad-Datei und fügen Sie den folgenden Code in die Datei ein:

"powershell.exe -command C:\WebSync\WebDeploySync.ps1"

Speichern Sie diese Datei unter C:\WebSync\WDSync.bat .

PowerShell-Skript

Geben Sie in einer neuen Notepad-Datei die folgenden Zeilen ein:

add-pssnapin wdeploysnapin3.0

New-WDPublishSettings -ComputerName [MasterServerName] -AgentType MSDepSvc -FileName c:\WebSync\[MasterServerName].publishsettings

New-WDPublishSettings -ComputerName [SecondaryServerName] -AgentType MSDepSvc -FileName c:\WebSync\[SecondaryServerName].publishsettings -UserID SyncMan -Password P@ss1234

Sync-WDServer -SourcePublishSettings c:\WebSync\[PrimaryServerName].publishSettings -DestinationPublishSettings c:\WebSync\[SecondaryServerName].publishSettings

Hinweis: Der vorangehende Code spiegelt ein 2-Knoten-Setup wider. Wenn Sie mehr sekundäre Knoten haben möchten, müssen Sie einen weiteren New-WDPublishSettings -ComputerName [SecondaryServerName]... hinzufügen Zeile für jeden sekundären Server und fügen Sie einen neuen Sync-WDServer.. hinzu Zeile, die den primären Server mit jedem nachfolgenden sekundären Server synchronisiert.

Speichern Sie diese Datei unter C:\WebSync\WebDeploySync.ps1 .

Planen Sie die Skripte

Richten Sie eine geplante Aufgabe ein, um die Skripts mit einer halbkonstanten Rate auszuführen, um sicherzustellen, dass Ihre Webinhalte über die Knoten hinweg synchronisiert bleiben. Diese Aufgabe muss nur auf dem primären Server eingerichtet werden. Die Aufgabe sollte folgende Eigenschaften haben:

  • Verwenden Sie die zuvor angegebenen SyncMan-Anmeldeinformationen.
  • Ausführen, auch wenn der Benutzer nicht angemeldet ist.
  • Eine tägliche Aufgabe sein, die 1 Tag lang alle 1 Minute ausgeführt wird, um sicherzustellen, dass sie auf unbestimmte Zeit in 1-Minuten-Intervallen ausgeführt wird.

Verwenden Sie die folgenden Schritte, um die Aufgabe zu planen:

  1. Um auf den Taskplaner zuzugreifen, navigieren Sie zu START -> Verwaltung -> Taskplaner .

  2. Wählen Sie Taskplaner-Bibliothek aus in der linken Spalte.

  3. Klicken Sie auf Aufgabe erstellen in der rechten Aktionen Bereich.

  4. Auf dem Allgemein Registerkarte Aufgabe erstellen Geben Sie einen aussagekräftigen Namen ein Geben Sie für die Aufgabe die SyncMan-Anmeldeinformationen ein, indem Sie auf Benutzer oder Gruppe ändern klicken , und wählen Sie Ausführen, ob der Benutzer angemeldet ist oder nicht aus der radialen Liste. Wählen Sie Windows Server 2012 aus aus Konfigurieren für Dropdown-Liste.

  5. Auf den Auslösern Registerkarte Aufgabe erstellen klicken Sie auf Neu .

  6. Im Neuer Auslöser Wählen Sie Täglich aus aus der Radialliste und wählen Sie eine Startzeit von 5 oder 10 Minuten in der Zukunft. Legen Sie Wiederholen alle fest zu 1 .In Erweiterte Einstellungen , aktivieren Sie Aufgabe wiederholen alle und geben Sie 1 Minute ein im Textfeld. Lassen Sie für eine Dauer von auf 1 Tag eingestellt . (Hinweis:„1 Minute“ ist kein Tippfehler. Stellen Sie sicher, dass Sie „Minuten“ im Plural stehen lassen).

  7. Auf den Aktionen Registerkarte Aufgabe erstellen klicken Sie auf Neu .

  8. In Aktion bearbeiten , wählen Sie Programm starten aus , und in Programm/Skript , geben Sie C:\WDSync\WDSync.bat ein . Klicken Sie auf OK .

  9. Zu den Bedingungen Registerkarte Aufgabe erstellen deaktivieren Sie alle Kontrollkästchen.

  10. In den Einstellungen Registerkarte Aufgabe erstellen Aktivieren Sie im Kontrollkästchen Aufgabe bei Bedarf ausführen , und lassen Sie alle anderen Kontrollkästchen deaktiviert. Im Wenn der Task bereits ausgeführt wird, gilt die folgende Regel Dropdown-Liste die Option Eine neue Instanz parallel ausführen .

  11. Klicken Sie auf OK im Feld Aufgabe erstellen.

Um sicherzustellen, dass die Aufgabe ausgeführt wird, klicken Sie auf Verlauf aller Aufgaben aktivieren in den Aktionen Bereich auf der rechten Seite des Taskplaners. Nachdem die Aufgabe ausgeführt wird, können Sie sie markieren und auf den Verlauf klicken Tab, um sicherzustellen, dass es regelmäßig jede Minute ausgeführt wird, wie in der folgenden Abbildung gezeigt:

Testen

Nachdem das Skript und die geplante Aufgabe abgeschlossen sind, können Sie dies testen, indem Sie eine Änderung auf dem primären Server vornehmen und sicherstellen, dass die Änderung in IIS auf den sekundären Servern angezeigt wird. Sie sollten auch in der Lage sein, eine Änderung auf den sekundären Servern in IIS oder in den von IIS kontrollierten Verzeichnissen vorzunehmen und zu sehen, dass Ihre Änderung auf dem primären Server in einer Minute oder weniger überschrieben wird.

Schlussfolgerung

Dieser Artikel zeigt Ihnen, wie Sie eine Webfarm in Windows Server 2012 implementieren, ohne Active Directory bereitzustellen und ohne zusätzliche Server kaufen zu müssen.


Linux
  1. Verwenden von Ansible zur Interaktion mit Web-Endpunkten

  2. Erstellen Sie geplante Aufgaben auf einem Windows-Server

  3. Verhindern Sie Probleme mit Neustarts von Windows-Servern

  4. Verwenden Sie Aufgabenzustände mit Server-Imaging

  5. Wie registriere ich einen Linux-Server beim Windows-DNS-Server?

Sichern Sie Ihren Apache-Webserver mit Mod Security

So installieren Sie den OpenLiteSpeed-Webserver mit MariaDB und PHP

Wie man die Leistung von Webservern mit Apache Bench bewertet

Installieren Sie MySQL auf Windows Server 2008 R2 und 2012

Melden Sie sich mit einem privaten SSH-Schlüssel auf einem Windows-Client bei einem Linux-Server an

Webentwicklung und fortgeschrittene Techniken mit Linux unter Windows (WSL)