Ich muss wordpress (Ein Blog, eine Domain, zB mycompany.com/blog) auf zwei Servern installieren, die eine Datenbank auf einem anderen Server teilen. Diese beiden Server stehen hinter einem Loadbalancer und die Datenbank würde sich auf einem anderen Server befinden. Wir planen diesen Weg aufgrund des hohen Verkehrsaufkommens.
Ich habe eigenständige WordPress - Installationen auf einem einzelnen Server unter Windows 2003, 2008 mit IIS6, 7 usw. Durchgeführt
Ich recherchiere nur, wie ich das umsetzen würde.
Was wären die Schritte, um dies zu erreichen und nach der Suche sah ich einige Beiträge zum Verzeichnis wp-content / uploads, die in regelmäßigen Abständen synchronisiert werden sollten?
Ihre Hilfe sehr geschätzt Vielen Dank für das Lesen
Was wir gemacht haben :
a) Wir haben zwei Webserver, die mit einem San-Cluster verbunden sind. b) haben ein Blog-Verzeichnis auf dem San erstellt. c) haben dieses Blog-Verzeichnis als virtuelles Verzeichnis auf beiden Webservern zugeordnet Verzeichnisse sind für beide Server gleich - zB für www.abc.com) e) Die Datenbank für diesen Blog befindet sich auf zwei MySQL-Boxen
Da Wordpress auf dem Server läuft und keine Konflikte mit Uploads oder Ähnlichem auftreten, lautet die URL des Blogs www.abc.com/blog und ist auf beiden Servern so konfiguriert.
Hoffe das hilft jemandem!
quelle
Antworten:
Wenn diese Verzeichnisse identisch sein müssen, können Sie sie dann auf einem anderen Server ablegen und über NFS aus der Ferne bereitstellen?
quelle
Es gibt so viele Möglichkeiten, die Leistung von WordPress zu verbessern, ohne dass ein zweiter Server und ein Lastenausgleich erforderlich sind. In zwei Worten: "Cache alles".
Verwenden Sie einen PHP-Opcode-Cacher (APC). Mit WordPress in weniger als 64 MB Speicher können Sie problemlos 90% der Cache-Zugriffsraten erreichen.
Aktivieren Sie den MySQL-Abfrage-Cache. Sie können leicht 65% oder Cache-Trefferraten mit sehr wenig mem erreichen (Site-abhängig, aber nie zu hoch).
Am wichtigsten:
Wordpress ist eine umfangreiche "Lese" -Seite (im Gegensatz zum Schreiben), bei der die meisten Anfragen auf einige hundert Seiten (Blog-Posts) beschränkt sind. Sie können die Anfragen pro Sekunde um das 10-fache erhöhen, indem Sie statische Versionen Ihrer beliebtesten Posts bereitstellen. Das beste Plugin dafür ist: wp-super-cache. Ich bin mir nicht sicher, ob dieses spezielle Plug-in mit 2k3 kompatibel ist, aber die allgemeine Idee, automatisch statische Versionen Ihrer Seiten zu erstellen und sie regelmäßig zu aktualisieren, um neue Kommentare, Bearbeitungen usw. aufzunehmen, ist die beste Wahl.
Ich bezweifle wirklich, dass Ihre Website genug Traffic liefert, um zwei Web- / App-Server zu benötigen, wenn die oben genannten allgemeinen Verbesserungen implementiert werden (die oben genannten können den Slashdot-Effekt problemlos verarbeiten). Zwei Webserver erhöhen jedoch die Fehlertoleranz. Da die Leistung mit einem Webserver erzielt werden kann, kann die Fehlertoleranz mit einem aktiven / passiven Setup erreicht werden. Dies wäre einfacher und erfordert keine gemeinsame Nutzung von Sitzungsinformationen.
quelle
Wir sind auf dieselbe Situation gestoßen und haben schließlich ein S3-Plugin installiert, das Ihr WP-Upload-Verzeichnis hostet, damit Sie sich nicht um die Synchronisierung kümmern müssen.
Dies ist die, die wir verwendet haben: http://tantannoodles.com/toolkit/wordpress-s3/
Es hat bisher großartig funktioniert!
quelle
Sie müssen zwischen den Servern das Upload- / Verzeichnis und das Sitzungsverzeichnis gemeinsam nutzen, normalerweise in / tmp
Ändere es in php.ini und teile das fs für Sessions und hochgeladene Dateien zwischen Servern über Samba, NFS oder was du bevorzugst.
quelle
Als Erstes haben wir hier eine sehr verwandte Frage beantwortet, die Sie wahrscheinlich hilfreich finden werden: SAN + MySQL-Replikation - ist das, was ich für meinen lastausgeglichenen Drupal-Cluster möchte?
Web-Clustering kann sehr weit in die Quere kommen, daher ist es wichtig, dass Sie Ihre Geschäftsziele im Auge behalten und sich nicht in der Ingenieurskunst verlieren. Zum Beispiel planen Sie zwei Webserver und einen Datenbankserver ... aber was ist, wenn der Datenbankserver Ihr Engpass ist? Dann ist Ihr zweiter Webserver verschwendet. Auf moderner Hardware mit einem Webserver und einem Datenbankserver und einem gut konfigurierten WordPress können Sie ein paar hundert Anfragen pro Sekunde bearbeiten. Erwarten Sie das? Wenn nicht, hat das Loadbalancing wahrscheinlich keinen Sinn.
quelle
Sitzungen werden besser über Memcache als auf dem Dateisystem geteilt.
quelle
Auf einem Linux-Paar würde ich DRBD verwenden. Das Windows-Äquivalent ist der Distributed File Service.
http://technet.microsoft.com/en-us/library/cc753479%28WS.10%29.aspx
quelle