Sync Loadbalanced webservers

From Hobbynet Admin Wiki
Revision as of 14:57, 15 November 2011 by Hans (talk | contribs) (layout aanpassingen)
Jump to navigation Jump to search

doel

Dit script zorgt ervoor dat de configuraties van webservers gelijk worden getrokken

config files

De config files staan in de volgende dir /usr/local/hobbynet/apache2conf/html
Vervang 'html' door de naam van het cluster, bijvoorbeeld 'php-joomla' dus zonder -lbx

config files synchroniseren

Om de config files te synchroniseren draai je op scripting het script /usr/local/hobbynet/bin/sync_html
Vervang 'html' door de naam van het cluster, bijvoorbeeld 'php-joomla' dus zonder -lbx

scripting

op server scripting

Op de server scripting wordt het script /usr/local/hobbynet/bin/sync_* aangeroepen.
Deze start op beide servers in het cluster het script /usr/local/hobbynet/local/getapacheconf

#!/bin/bash
echo syncing html-lb1
ssh html-lb1-int /usr/local/hobbynet/local/getapacheconf
echo synching html-lb2
ssh html-lb2-int /usr/local/hobbynet/local/getapacheconf

locale scripting op webserver

Dit script zorgt ervoor dat lb* in de config file wordt vervangen door lb1 of lb2, afhankelijk van de waarde in het script.
Omdat dit script server specifiek is staat deze lokaal op de server, in de map /usr/local/hobbynet/local/getapacheconf.
Nadat alle sites zijn uitgeschakeld worden de huidige website files weg gebackup naar /usr/local/hobbynet/local/backup.
Hierna worden alle files (website) die in de configdir staan geactiveerd.
Wil je een site uitschakelen dan verplaats je de website configfile naar de map 'uitgeschakeld'.

#!/bin/bash
BASISCONFIG=/usr/local/hobbynet/apache2conf/html
APACHE2CONFIGDIR=/etc/apache2/sites-available
BACKUPDIR=/usr/local/hobbynet/local/backup/
LB=1

cd $BASISCONFIG/lb$LB
rm $BASISCONFIG/lb$LB/*
cp $BASISCONFIG/* $BASISCONFIG/lb$LB/ >/dev/null
     for fl in *; do
     mv $fl $fl.old
     sed 's/lb\*/lb'$LB/g $fl.old > $fl
     rm -f $fl.old
     done

cd $APACHE2CONFIGDIR
service apache2 stop
a2dissite *
mv *  $BACKUPDIR
cp $BASISCONFIG/lb$LB/* .
a2ensite *
service apache2 start