CDN
Zur Navigation springen
Zur Suche springen
CDN - Content Distribution Network
Ein Content Distribution Network (deutsch: Verteilnetzwerk für Inhalte) dient dazu die Last und Kosten bei der Verteilung von großen (meist multimedialen) Inhalten zu teilen, um so eine möglichst schnelle Anbindung für den Content-User und möglichst geringe Kosten für den Content-Provider zu gewährleisten.
Ziel
Da wir, das bytewerk, und unser Trägerverein bingo e.V. ab und an Videos und Materialien von unseren Workshops, Schulungen und Vorträgen veröffentlichen, möchten wir dieses Netzwerk dazu nutzen, diese möglichst kostengünstig für den Verein und trotzdem performant zu verteilen.
Teilnehmer
Script zum Update des CDN
Script
#!/bin/bash MASTER_SERVER="cdn1.bingo-ev.de" CLIENT_DIR="/path/to/bingo-document-root" #example /var/www/bingo/ for i in $(wget -qO - "http://$MASTER_SERVER/index.lst"|cut -f 1|sed -e "s/^/http:\/\/$MASTER_SERVER/") do wget -q -N -x -nH --directory-prefix="$CLIENT_DIR" $i done echo "CDN-Update:" $(date) >> /path/to/log/directory/bingocdn.log #usually /var/log/
Anmerkungen
- Das Script lädt die Inhalte vom MASTER_SERVER, falls diese neu sind oder falls schon vorhandene Inhalte aktualisiert wurden.
- Anschließend legt es die Dateien in einer Ordnerstruktur ab, die von der index.lst des MASTER_SERVER vorgegeben wird.
- Zum Abschluss wird in die Datei bingocdn.log ein Eintrag geschrieben, wann das Script zum letzten Mal durchgelaufen ist.
Mitmachen
Voraussetzungen
- Root-Server (evtl. vServer)
- 100 MBit Internetanbindung
- mind. 10 GB freien Speicherplatz
- viel Freitraffic
Tutorial
- Das Script abspeichern & anpassen.
- Cronjob einrichten, der das Script aufruft (ca. alle 10 min)
- Bsp: 3,13,23,33,42,52 * * * * /path/to/bingocdn.sh
- Mit fake in Verbindung setzen und einen vHost anfordern.
- IPv4-Adresse und, falls vorhanden, IPv6-Adresse des Servers an fake übermitteln
- vHost auf cdnX.bingo-ev.de einrichten
- Das X wird durch die Zahl ersetzt, die fake dir zuteilt
- Im bingo-document-root (= CLIENT_DIR im Script) eine index.php mit folgendem Inhalt anlegen:
<? header("Location: http://www.bingo-ev.de"); ?>