Sync Loadbalanced webservers: Difference between revisions

From Hobbynet Admin Wiki
Jump to navigation Jump to search
(layout aanpassingen)
Line 1: Line 1:
= doel =
= doel =
Dit script zorgt er voor dat de configuraties van webservers gelijk worden getroken
Dit script zorgt ervoor dat de configuraties van webservers gelijk worden getrokken
= config files =
= config files =
De config files staan in de volgende dir /usr/local/hobbynet/apache2conf/'''html'''<br>
De config files staan in de volgende dir /usr/local/hobbynet/apache2conf/'''html'''<br>
vervang html door naam van cluster bv php-joomla dus '''zonder -lbx'''
Vervang 'html' door de naam van het cluster, bijvoorbeeld 'php-joomla' dus '''zonder -lbx'''
== config files syncroniseren ==
 
om de config files te syncroniseren draai op scripting het script /usr/local/hobbynet/bin/sync_html <br>
== config files synchroniseren ==
vervang html door naam van cluster bv php-joomla dus '''zonder -lbx'''
Om de config files te synchroniseren draai je op scripting het script /usr/local/hobbynet/bin/sync_html <br>
Vervang 'html' door de naam van het cluster, bijvoorbeeld 'php-joomla' dus '''zonder -lbx'''
= scripting =
= scripting =
== op server scripting ==
== op server scripting ==
Op de server scripting wordt het script /usr/local/hobbynet/bin/sync_* aangeroepen.<br>
Op de server scripting wordt het script /usr/local/hobbynet/bin/sync_* aangeroepen.<br>
Deze start op de servers in het cluster het script /usr/local/hobbynet/local/getapacheconf
Deze start op beide servers in het cluster het script /usr/local/hobbynet/local/getapacheconf
<pre>
<pre>
#!/bin/bash
#!/bin/bash
echo synching html-lb1
echo syncing html-lb1
ssh html-lb1-int /usr/local/hobbynet/local/getapacheconf
ssh html-lb1-int /usr/local/hobbynet/local/getapacheconf
echo synching html-lb2
echo synching html-lb2
ssh html-lb2-int /usr/local/hobbynet/local/getapacheconf
ssh html-lb2-int /usr/local/hobbynet/local/getapacheconf
</pre>
</pre>
== locale scripting op webserver ==
== locale scripting op webserver ==
Dit script zorgt er voor dat lb* in de config file wordt vervangen door lb1 of lb2 dat hangt af van de waarde in script.<br>
Dit script zorgt ervoor dat lb* in de config file wordt vervangen door lb1 of lb2, afhankelijk van de waarde in het script.<br>
omdat dit script server speciefiek staat deze in /usr/local/hobbynet/local/getapacheconf<br>
Omdat dit script server specifiek is staat deze lokaal op de server, in de map /usr/local/hobbynet/local/getapacheconf.<br>
Na dat alle sites zijn uitgeschakeld worden de huidige website files weg gebackup naar /usr/local/hobbynet/local/backup<br>
Nadat alle sites zijn uitgeschakeld worden de huidige website files weg gebackup naar /usr/local/hobbynet/local/backup.<br>
hier na worden alle files (website die in de configdir staan geactiveerd<br>
Hierna worden alle files (website) die in de configdir staan geactiveerd.<br>
Wil je een site uitschakelen verplaats je de website configfile naar uitgeschakeld
Wil je een site uitschakelen dan verplaats je de website configfile naar de map 'uitgeschakeld'.
<pre>
<pre>
#!/bin/bash
#!/bin/bash
Line 31: Line 33:
LB=1
LB=1


 
cd $BASISCONFIG/lb$LB
 
cd $BASISCONFIG/lb$LB
rm $BASISCONFIG/lb$LB/*
rm $BASISCONFIG/lb$LB/*
cp $BASISCONFIG/* $BASISCONFIG/lb$LB/ >/dev/null
cp $BASISCONFIG/* $BASISCONFIG/lb$LB/ >/dev/null

Revision as of 14:57, 15 November 2011

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