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

So synchronisieren Sie zwei Webserver unter Linux automatisch

Wenn Sie sich von einem Linux-Enthusiasten zu einem Linux-Administrator/Superuser in einer Produktions-/Serverumgebung entwickeln, sehen Sie allmählich den Sinn darin, mit mehr als einem Webserver zu arbeiten.

Im Moment sehen Sie vielleicht nicht die Logik darin, zwei ähnliche Webserver gleichzeitig laufen zu lassen, aber es wird eine Zeit kommen, in der eine zusätzliche Serverumgebung einen idealen Backup-Plan für Ihren primären Server schafft.

[ Das könnte Ihnen auch gefallen:Lsyncd – Lokale Verzeichnisse mit Remote-Linux synchronisieren ]

Um unvermeidbare Website-Ausfallzeiten zu reduzieren oder ihnen entgegenzuwirken, sollte ein sekundärer Webserver eingerichtet werden, der automatisch von einem primären Webserver abgelöst wird. Dieser Einrichtungsprozess, der es zwei Webservern ermöglicht, miteinander zu kommunizieren, wird als Serversynchronisierung bezeichnet.

Vorteile der Webserver-Synchronisierung

Lassen Sie uns einige Vorteile einer Webserver-Synchronisierung besprechen.

  • Wenn Daten vom primären Server zum/vom sekundären Server kopiert werden, werden Berechtigungen, Eigentumsrechte und andere spezielle Attributeinstellungen aus der anfänglichen Serverumgebung beibehalten.
  • Sie werden es mit geringerer Bandbreite zu tun haben, da gezielte Datenübertragungen Komprimierungs- und Dekomprimierungs-Datenübertragungsprotokolle einhalten.
  • Wenn der primäre Webserver bereits vom Benutzer gelöschte Dateien und Verzeichnisse hat und der sekundäre Server diese Dateien und Verzeichnisse noch an Ort und Stelle hat, überprüft und löscht der Datenübertragungs- und Synchronisierungsprozess diese Dateien und Verzeichnisse, um das Verzeichnis der beiden Server sicherzustellen Strukturen sind synchron.
  • Die Synchronisierungsaktion der beiden Server gilt auch für geänderte Datenbytes und -blöcke.
  • Wenn Sie Bedenken hinsichtlich der Datenverschlüsselung während Ihrer Server-zu-Server-Datenübertragung haben, unterstützt dieser Webserver-Synchronisierungsmechanismus SSH; ein verschlüsseltes Netzwerkprotokoll.

Anforderungen für die Synchronisierung zweier Webserver

In diesem Fall müssen zwei Webserver und deren jeweilige Domänennamen oder IP-Adressen ausgeführt werden. In meinem Fall verwende ich die folgenden zwei Server als primären und sekundären Webserver:

Main server IP address: 3.135.207.198
Secondary server IP address: 18.118.208.79

Installieren von Rsync zum Synchronisieren von zwei Webservern

Damit der Synchronisierungsvorgang unserer Webserver erfolgreich ist, benötigen wir die Hilfe des rsync-Tools. Sie können es mit einem der folgenden Paketinstallationsbefehle auf Ihrem bevorzugten Linux-Distributionsserver installieren. Die Rsync-Installation sollte sowohl auf dem Hauptserver als auch auf dem sekundären Server stattfinden, den Sie synchronisieren möchten.

$ sudo apt-get install rsync     [On Debian, Ubuntu and Mint]
$ sudo yum install rsync         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/rsync  [On Gentoo Linux]
$ sudo pacman -S rsync           [On Arch Linux]
$ sudo zypper install rsync      [On OpenSUSE]    

Zwei Webserver mit Rsync unter Linux synchronisieren

Stellen Sie vor der Synchronisierung sicher, dass Sie Ihren rsync-Benutzer auf dem Haupt-/Primärserver identifizieren. Sie können das bereits eingerichtete Root verwenden Benutzer auf Ihrem Linux-System. Auf meiner Seite werde ich das bereits vorhandene ubuntu verwenden Benutzer.

Als Nächstes müssen Sie die Serververzeichnisse identifizieren, die Sie auf Ihren aktiven primären und sekundären Servern synchronisieren möchten. Auf meiner Seite werde ich versuchen, die Webserver-Verzeichnisse /var/www zu synchronisieren die auf beiden Servern existieren.

Auf meinem Backup-/Sekundärserver führe ich das folgende rsync aus Befehl, der auf sein /var/www zeigt und es verlinkt Verzeichnis mit dem auf dem Haupt-/Primärserver.

$ sudo rsync -avzhe ssh [email protected]:/var/www/ /var/www/

Gemäß dem ausgeführten rsync Befehl aus der obigen Bildschirmaufnahme wurden die Dateien und Verzeichnisse, die auf dem Hauptserver vorhanden waren, synchronisiert und auf den Sicherungsserver kopiert.

[Das könnte Ihnen auch gefallen:Rsync zeigt den Fortschritt beim Synchronisieren von Dateien unter Linux an]

Automatisches Synchronisieren von zwei Webservern mit Rsync unter Linux

Sie müssen Ihre Webserver nicht jedes Mal manuell synchronisieren. Um diesen Synchronisierungsvorgang zu automatisieren, ziehen Sie die folgenden zweistufigen Ansätze in Betracht:

Schritt 1:Konfigurieren der passwortlosen SSH-Anmeldung

Auf Ihrem Backup-/Sekundärserver benötigen Sie einen öffentlichen und einen privaten Schlüssel. Sie können eine mit dem folgenden Befehl generieren:

$ sudo ssh-keygen -t rsa -b 2048 

Denken Sie daran, den obigen Befehl auf Ihrem Backup-Server auszuführen.

Denken Sie auch daran, das Einrichten einer Passphrase zu überspringen, indem Sie [Enter drücken ], um das Passphrase-Feld leer zu lassen.

Als nächstes müssen diese generierten öffentlichen und privaten Schlüssel vom Sicherungsserver auf den Primär-/Hauptserver kopiert werden. Verwenden Sie einen ähnlichen Befehl wie den folgenden, um dieses Ziel zu erreichen:

$ sudo ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

Greifen Sie nun auf den Hauptserver zu und bestätigen Sie die neu hinzugefügten Schlüssel auf Ihrem Hauptserver:

$ ssh [email protected]
$ sudo nano .ssh/rsa

Wir sind jetzt damit fertig, die erforderlichen Schlüsseldateien mit unseren beiden Servern (primärer und sekundärer Server) zu teilen.

Schritt 2:Zwei Webserver per Cron-Job automatisch synchronisieren

Konfigurieren Sie auf dem Sicherungs-/Sekundärserver die Crontab-Datei für die automatische Serversynchronisierung:

$ sudo crontab -e

Sie werden aufgefordert, einen Editor zum Öffnen der Crontab-Datei auszuwählen:

Fügen Sie am Ende der geöffneten Datei einen Cron-Job-Zeitplan zum Synchronisieren Ihrer Server hinzu:

*/5   *   *   *   *   rsync -avzhe ssh [email protected]:/var/www/ /var/www/

Gemäß dem obigen Cron-Job-Eintrag in der Crontab-Datei werden der Haupt- und der primäre Webserver alle fünf Minuten automatisch synchronisiert.

Nachdem Sie Ihre Änderungen gespeichert und den Editor verlassen haben, sollte sich der Cron-Job selbst installieren und aktivieren.

$ sudo crontab -e

Die automatische Synchronisierung Ihres primären Webservers mit einem sekundären Webserver erspart Ihnen Probleme mit Serverausfällen und Fehlern und erstellt außerdem den perfekten Backup-Plan für einen produktiven und stark frequentierten Website-Server, den Sie aktiv halten möchten.


Linux
  1. So treten Sie Ihrem Linux-Server dem NTP-Pool-Projekt bei

  2. So installieren Sie den Nginx-Webserver unter Linux

  3. So funktioniert ein Linux-Server

  4. So installieren Sie den Virtualisierungs-Linux-Server

  5. Die besten Web-Linux-Server

So synchronisieren Sie Dateien automatisch zwischen zwei Linux-Servern

So installieren Sie den Nginx-Webserver unter Alpine Linux

So installieren Sie den Apache-Webserver unter Alpine Linux

So führen Sie SSH zum Server über Linux

So verwenden Sie Rsync zum Kopieren/Synchronisieren von Dateien zwischen Servern

So richten Sie einen Heimserver ein