GNU/Linux >> Linux Esercitazione >  >> Linux

Come sincronizzare automaticamente due server Web in Linux

Passando da un appassionato di Linux a un amministratore/superutente Linux in un ambiente di produzione/server, inizi a vedere il senso di lavorare con più di un server web.

In questo momento, potresti non vedere la logica nell'avere due server Web simili in esecuzione contemporaneamente, ma arriverà il momento in cui avere un ambiente server aggiuntivo creerà un piano di backup ideale per il tuo server principale.

[ Potrebbe piacerti anche:Lsyncd – Sincronizza directory locali con Linux remoto ]

Per ridurre o contrastare i tempi di inattività del sito Web inevitabili, è necessario configurare un server Web secondario che subentri automaticamente a un server Web primario. Questo processo di configurazione che consente a due server Web di comunicare tra loro è chiamato sincronizzazione del server.

Vantaggi della sincronizzazione del server Web

Discutiamo alcuni vantaggi di avere un'operazione di sincronizzazione del server web.

  • Quando i dati vengono copiati dal server primario al/dal server secondario, le autorizzazioni, la proprietà e altre impostazioni degli attributi speciali dell'ambiente del server iniziale vengono mantenute.
  • Avrai a che fare con una larghezza di banda inferiore poiché i trasferimenti di dati mirati aderiscono ai protocolli di trasferimento dei dati di compressione e decompressione.
  • Se il server Web primario ha già file e directory eliminati dall'utente e il server secondario ha ancora questi file e directory in posizione, il processo di trasferimento e sincronizzazione dei dati verificherà ed eliminerà tali file e directory per garantire la directory dei due server le strutture sono sincronizzate.
  • L'azione di sincronizzazione dei due server si applica anche ai byte e ai blocchi di dati modificati.
  • Se sei preoccupato per la crittografia dei dati durante le operazioni di trasferimento dei dati da server a server, questo meccanismo di sincronizzazione dei server Web supporta SSH; un protocollo di rete crittografato.

Requisiti per la sincronizzazione di due server Web

In questo caso, è necessario disporre di due server Web in esecuzione e dei rispettivi nomi di dominio o indirizzi IP. Nel mio caso, utilizzerò i seguenti due server come server Web primari e secondari:

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

Installazione di Rsync per la sincronizzazione di due server Web

Affinché l'operazione di sincronizzazione dei nostri server Web abbia successo, avremo bisogno dell'aiuto dello strumento rsync. Puoi installarlo sul tuo server di distribuzione Linux preferito da uno dei seguenti comandi di installazione del pacchetto. L'installazione di Rsync deve essere eseguita sia sul server principale che sul server secondario che desideri sincronizzare.

$ 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]    

Sincronizzare due server Web utilizzando Rsync in Linux

Prima di eseguire la sincronizzazione, assicurati di identificare il tuo utente rsync sul server principale/primario. Puoi utilizzare la root già stabilita utente sul tuo sistema Linux. Da parte mia, userò il già esistente ubuntu utente.

Successivamente, devi identificare le directory del server che desideri sincronizzare sui tuoi server primari e secondari attivi. Da parte mia, proverò a sincronizzare le directory del server web /var/www che esistono su entrambi i server.

Sul mio server di backup/secondario, eseguirò il seguente rsync comando che punta e collega il suo /var/www directory con quella sul server principale/primario.

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

Come da rsync eseguito comando dall'acquisizione dello schermo sopra, i file e le directory che esistevano nel server principale sono stati sincronizzati e copiati sul server di backup.

[ Potrebbe piacerti anche:Rsync Mostra progressi durante la sincronizzazione di file in Linux ]

Sincronizzazione automatica di due server Web utilizzando Rsync in Linux

Non è necessario sincronizzare ogni volta manualmente i server Web. Per automatizzare questa operazione di sincronizzazione, considera i seguenti approcci in due passaggi:

Passaggio 1:configurazione dell'accesso senza password SSH

Sul tuo server di backup/secondario, hai bisogno di una chiave pubblica e privata. Puoi generarne uno dal seguente comando:

$ sudo ssh-keygen -t rsa -b 2048 

Ricordati di eseguire il comando sopra sul tuo server di backup.

Inoltre, ricorda di saltare la configurazione di una passphrase premendo [Invio ] per lasciare vuoto il campo della passphrase.

Successivamente, queste chiavi pubbliche e private generate devono essere copiate sul server primario/principale dal server di backup. Utilizzare un comando simile al seguente per raggiungere questo obiettivo:

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

Ora accedi al server principale e conferma le chiavi appena aggiunte sul tuo server principale:

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

Ora abbiamo finito con la condivisione dei file chiave richiesti con i nostri due server (server primario e secondario).

Passaggio 2:sincronizzazione automatica di due server Web tramite Cron Job

Sul server di backup/secondario, configura il file crontab per la sincronizzazione automatica del server:

$ sudo crontab -e

Ti verrà chiesto di scegliere un editor per aprire il file crontab:

Nella parte inferiore del file aperto, aggiungi una pianificazione del lavoro cron per sincronizzare i tuoi server:

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

In base alla voce del processo cron sopra sul file crontab, i server Web principali e primari verranno sincronizzati automaticamente ogni cinque minuti.

Dopo aver salvato le modifiche ed essere uscito dall'editor, il lavoro cron dovrebbe installarsi e attivarsi.

$ sudo crontab -e

La sincronizzazione automatica del server Web principale con un server Web secondario ti evita di dover affrontare problemi di inattività del server, errori e crea anche il piano di backup perfetto per un server Web produttivo e altamente trafficato che desideri rimanere attivo.


Linux
  1. Come unire il tuo server Linux al progetto del pool NTP

  2. Come installare Nginx Web Server su Linux

  3. Ecco come funziona un server Linux

  4. Come installare il server Linux di virtualizzazione

  5. I migliori server Web Linux

Come sincronizzare automaticamente i file tra due server Linux

Come installare Nginx Web Server su Alpine Linux

Come installare Apache Web Server su Alpine Linux

Come eseguire l'SSH sul server tramite Linux

Come utilizzare Rsync per copiare/sincronizzare file tra server

Come configurare un server domestico