Wordpress auf mehrere Server verteilen

  • Guten Abend,

    ich habe folgendes Problem:
    Ich möchte ein Wordpress-Blog auf mehreren Servern "verteilt" hosten. Dabei sollen die hochgeladenen Dateien auf mehrere Server verteilt werden, optional auch die Datenbank.

    Beispiel:

    Code
    cdn1.domain.tld --> /wp-content/plugins/
    cdn2.domain.tld --> /wp-content/themes/
    cdn3.domain.tld --> /wp-content/uploads/
    cdn4.domain.tld --> /wp-content/uploads/
    cdn5.domain.tld --> /wp-content/uploads/

    Alle Plugins sollen also auf den Server cdn1 geladen werden, alle Themes nach cdn2. Die hochgeladenen Medien sollen dynamisch/zufällig auf den Servern cdn3, 4 und 5 verteilt werden.

    Das wäre erstmal mein erstes Problem, später käme dann dazu, die MySQL-Datenbank auf mehrere Server zu verteilen (lösbar mit einer einfachen Round-Robin-Verteilung?!)

    Danke für eure Hilfe
    486er

    Edit: Das Problem mit der MySQL-Datenbank werde ich mit HyperDB angehen. Bleibt also nur noch die Frage nach dem "mini-CDN".

    Einmal editiert, zuletzt von 486er (10. Juni 2011 um 17:35)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren


  • ich habe folgendes Problem:
    Ich möchte ein Wordpress-Blog auf mehreren Servern "verteilt" hosten. Dabei sollen die hochgeladenen Dateien auf mehrere Server verteilt werden, optional auch die Datenbank.

    Beispiel:

    Code
    cdn1.domain.tld --> /wp-content/plugins/
    cdn2.domain.tld --> /wp-content/themes/
    cdn3.domain.tld --> /wp-content/uploads/
    cdn4.domain.tld --> /wp-content/uploads/
    cdn5.domain.tld --> /wp-content/uploads/

    ich verteile auf
    adresse a . '/wp-content/uploads/',
    adresse b. '/wp-content/gallery/',
    adresse c. . '/wp-content/themes/',
    adresse d. . '/wp-content/plugins/',

    und funktioniert super.


    Die hochgeladenen Medien sollen dynamisch/zufällig auf den Servern cdn3, 4 und 5 verteilt werden.

    ok...


    Das wäre erstmal mein erstes Problem,

    Und deine Frage lautet?


    später käme dann dazu, die MySQL-Datenbank auf mehrere Server zu verteilen (lösbar mit einer einfachen Round-Robin-Verteilung?!)

    Edit: Das Problem mit der MySQL-Datenbank werde ich mit HyperDB angehen. Bleibt also nur noch die Frage nach dem "mini-CDN".

    Warum verwendest du nicht
    http://www.mysql.de/products/cluster/


    Da du die uploads auf drei server verteilen möchtest - vermute ich, dass du viel mit dynamischen daten machst. schau dir mal Gearman an

    es ist ein System für die Verteilung von Arbeit auf andere Maschinen. Es sendet Funktionsaufrufe an für die Aufgabe besser geeignete Maschinen, sorgt für die parallele Arbeit an Aufgaben und den Lastausgleich vieler Funktionsaufrufe und sorgt sich um Funktionsaufrufe zwischen unterschiedlichen Programmiersprachen

    http://gearman.org/index.php

    Tipp für deine Datenbank geschichte
    http://www.oreilly.de/catalog/hpmysqlger/

    bei Paper C kannst diese anlesen
    http://blog.paperc.de/2010/02/oreill…her-auf-paperc/

    cu

    ralf

    Mit offenen Augen träumen

  • Zitat

    Und deine Frage lautet?


    Upps :) "Wie realisiert man das ganze"?

    Es geht mir dabei weniger um besonders viele dynamische Daten, sondern eher um eine große Menge an Uploads, die an relativ kleine Server geschickt werden sollen. Damit ich langfristig mit einer eher schwachen Serverkonfiguration leben kann, ohne auf größere Pakete upgraden zu müssen.

    Gearman klingt da ein wenig nach "overkill"...

  • Upps "Wie realisiert man das ganze"?

    Ist doch total einfach? Für die Auflieferung habe ich mir eine Funktion meine_content_url geschrieben.

    PHP
    add_filter( 'the_content', 'meine_content_url' );

    diese schreibt bei der Auslieferung die gefunden URLs in "the_centent" aus Wordpress um.

    D.h. hier wird aus http://example.org/wp-content/plugins/ dann http://cdn1.domain.tld/

    Selbstverständlich schreibe ich auch die Links in "bloginfo_url" um.



    Es geht mir dabei weniger um besonders viele dynamische Daten, sondern eher um eine große Menge an Uploads, die an relativ kleine Server geschickt werden sollen. Damit ich langfristig mit einer eher schwachen Serverkonfiguration leben kann, ohne auf größere Pakete upgraden zu müssen.

    Wenn du einen kleinen Server hast -warum verwendest du dann nicht einfach

    Google’s Cloud kostenlos als CDN nutzen
    http://www.phpgangsta.de/googles-cloud-…-als-cdn-nutzen

    oder du verwendest
    http://infoblog.li/w3-total-cache…t-cdn-funktion/

    cu

    ralf

    Mit offenen Augen träumen

  • Zitat

    Ist doch total einfach?

    Bin leider totaler PHP-Noob :)
    Aber ich denke mal, dass ich anhand deiner Ausführungen da etwas zustande bekomme.

    Viele Grüße
    486er

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!