Implementierung von Amazon S3 für WordPress-Blogs

Amazon S3 WordPress

Hinweis: Seitdem wir dies geschrieben haben, sind wir zu migriert Schwungrad mit Content Delivery Network powered by StackPath CDN, ein viel schnelleres CDN als Amazon.378

Wenn Sie sich nicht auf einer Premium-Enterprise-Hosting-Plattform befinden, ist es schwierig, mit einem CMS-ähnlichen Unternehmen eine Unternehmensleistung zu erzielen WordPress. Lastverteilung, Backups, Redundanz, Replikation und Bereitstellung von Inhalten sind nicht billig.

Viele IT-Vertreter sehen Plattformen wie WordPress an und verwenden sie, weil sie es sind kostenlos. Frei ist jedoch relativ. Stellen Sie WordPress auf eine typische Hosting-Infrastruktur und ein paar hundert gleichzeitige Benutzer können Ihre Site zum Erliegen bringen. Um die Leistung meines Blogs zu verbessern, habe ich diese Woche meine Installation von WordPress geändert und alle Grafiken von Amazon S3 (Amazon Simple Storage Service) gepusht. Dadurch kann mein Server HTML einfach über PHP / MySQL pushen.

Amazon S3 bietet eine einfache Webdienstschnittstelle, über die jederzeit und von jedem Ort im Web aus beliebig viele Daten gespeichert und abgerufen werden können. Jeder Entwickler erhält Zugriff auf dieselbe hoch skalierbare, zuverlässige, schnelle und kostengünstige Datenspeicherinfrastruktur, mit der Amazon sein eigenes globales Netzwerk von Websites betreibt. Der Service zielt darauf ab, die Skalierungsvorteile zu maximieren und diese Vorteile an Entwickler weiterzugeben.

Das Konvertieren der Website für Amazon S3 hat einige Arbeit gekostet, aber hier sind die Grundlagen:

  1. Für e-news registrieren Amazon Web Services.
  2. Laden Sie das Firefox-Add-on für S3. Dies bietet Ihnen eine großartige Oberfläche für die Verwaltung von Inhalten in S3.
  3. Hinzufügen Eimer, in diesem Fall habe ich hinzugefügt www.martech.zone.
  4. Fügen Sie Ihrem Domain-Registrar einen CNAME hinzu, um eine Subdomain von Ihrer Site für virtuelles Hosting auf Amazon S3 zu verweisen.
  5. Laden Sie das WordPress-Plugin für Amazon S3 herunter und installieren Sie es.
  6. Legen Sie Ihre AWS Access Key ID und Ihren geheimen Schlüssel fest und klicken Sie auf Aktualisieren.
  7. Wählen Sie die Subdomain / den Bucket aus, die Sie oben für das erstellt haben Verwenden Sie diesen Eimer Einstellung.

wp-amazon-s3-settings.png

Die nächsten Schritte waren der lustige Teil! Ich wollte nicht nur zukünftige Inhalte aus S3 bereitstellen, sondern alle Inhalte, einschließlich Anzeigen, Themen und vergangener Mediendateien.

  1. Ich habe Ordner für erstellt Anzeigen, Themenund Uploads in meinem Eimer auf S3.
  2. Ich habe alle meine aktuellen Inhalte (Bild- und Mediendateien) in den entsprechenden Ordnern gesichert.
  3. Ich habe meine CSS-Datei in meinem Design geändert, um alle Bilder abzurufen www.martech.zone/themes.
  4. Ich habe ein MySQL suchen und ersetzen und aktualisierte jeden Verweis auf Medieninhalte, die in der S3-Subdomain angezeigt werden sollen.
  5. Ich habe alle Bildreferenzen für Anzeigen aktualisiert, die im Anzeigenordner der S3-Subdomain angezeigt werden sollen.

Ab jetzt muss ich nur noch Medien in S3 hochladen, anstatt den Standarddialog zum Hochladen von Bildern für WordPress zu verwenden. Das Plugin leistet hervorragende Arbeit, indem es ein S3-Symbol an derselben Stelle wie die Upload / Insert-Symbole im WordPress-Administrator platziert.

Das Verschieben aller Daten und das Ausführen auf S3 für ein paar Tage hat zu S0.12-Gebühren in Höhe von 3 US-Dollar geführt. Ich mache mir also keine Sorgen über die damit verbundenen Gebühren - vielleicht kosten ein paar US-Dollar pro Monat. Auf der positiven Seite, wenn ich eine Menge Besucher bekomme, sollte ich in der Lage sein, viel mehr als die aktuellen Plattform-Handles zu handhaben. Meine Seite lädt die Homepage in ungefähr 40% der Zeit, die es früher war, also bin ich ziemlich zufrieden mit dem Umzug!

Das Schönste an diesem Schritt ist, dass er eigentlich keiner Entwicklung bedurfte!

28 Kommentare

  1. 1

    Hallo,

    Ich habe ein Amazon S3-Konto, aber nachdem ich versucht habe, die Dinge herauszufinden, habe ich es einfach verlassen, weil es zu schwierig ist. Macht es das Firefox-Add-In für S3 viel einfacher?

  2. 3

    Ich sollte hinzufügen, dass Sie Ihren CNAME auf den neuen verweisen müssen your_unique_cloudfront_distribution_name.cloudfront.net statt zu your_unique_subdomain.s3.amazonaws.com. Aber danach behandeln Sie es wie einen normalen S3-Eimer.

    Bei Verwendung der CloudFront-Option mit höherer Geschwindigkeit und geringer Latenz kostet dies mehr. Wenn Sie lieber zur Standardversion S3 zurückkehren möchten, wechseln Sie einfach Ihren CNAME, um stattdessen auf s3.amazonaws.com zu verweisen.

    Vor ungefähr einem Jahr schrieb ichhttp://www.carltonbale.com/tag/amazon-s3/"a Einige Blog-Beiträge zu Amaon S3 für alle Interessierten.

  3. 4

    Wenn Sie noch mehr Geschwindigkeit steigern möchten, verwandeln Sie Ihren Amazon S3-Bucket in einen Amazon CloudFront-Bucket, der ein echtes globales Content Distribution-Netzwerk mit mehreren Servern und geringer Latenz erstellt. Hier ein Link mit allen Details: http://aws.amazon.com/cloudfront/faqs/

    Außerdem kann das wp-Supercache-Plugin auf Websites mit hohem Datenverkehr eine enorme Geschwindigkeitssteigerung bewirken, da es die CPU-Auslastung und Datenbankaufrufe erheblich reduziert.

    • 5

      Sehr cool, Carlton! Es ist also sehr viel ein verteiltes Netzwerk wie Akamai. Ich wusste nicht, dass sie das zur Verfügung hatten! Ich kann es ausnutzen, nachdem ich einige der Kosten gesehen habe.

      Ich hatte zuvor das Caching mit aktiviertem wp, aber ich habe einige dynamische Inhalte, so dass ich wirklich Probleme damit hatte, da es manchmal Inhalte zwischenspeichert, die ich eigentlich in Echtzeit laden wollte.

      • 6

        Douglas,

        Aus ihrer Beschreibung geht hervor, dass Amazon etwas völlig anderes macht, sagen sie:

        „Amazon CloudFront nutzt 14 Edge-Standorte in wichtigen Märkten weltweit. Acht befinden sich in den Vereinigten Staaten (Ashburn, VA; Dallas / Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA; St. Louis, MO). Vier sind in Europa (Amsterdam; Dublin; Frankfurt; London). Zwei sind in Asien (Hongkong, Tokio). “

        Sie nutzen im Grunde genommen den Internetaustausch, um ihre Nähe zum Endbenutzer zu nutzen, wo CDNs wie Akamai Server haben, die dem Endbenutzer normalerweise viel näher sind, normalerweise innerhalb des ISP-Netzwerks.

        Amazons Art es zu tun ist viel billiger und effektiver Akamai.

        Rogerio - http://www.itjuju.com/

  4. 7

    Ich würde nicht sagen, dass es schwierig ist, mit einem CMS wie WordPress Unternehmensleistung zu erzielen.

    Alles hängt davon ab, wie Sie Ihre Infrastruktur einrichten oder wie Sie Ihr CMS hosten.
    Die Art und Weise, wie das CMS selbst codiert wurde, kann auch eine große Rolle bei seiner Leistung spielen, wie Carlton bei der Verwendung des wp-Supercache-Plugins hervorhob.

    Es wäre besser gewesen, wenn die Funktionalität des wp-Supercache-Plugins von Anfang an in WordPress integriert wäre - aber dafür müsste das Frontend neu geschrieben werden. Welches ist was lightpress.org tat.

    Das Laden statischer Inhalte in etwas wie S3 ist eine gute Möglichkeit, die Verarbeitung und Bereitstellung vom Hauptserver zu verlagern. Es ist eine einfache und bequeme Möglichkeit, die Infrastruktur von Amazons zu nutzen, um das schwere Heben zu erledigen. Sobald Sie jedoch eine Kretin-Schwelle erreicht haben, wird Amazon teuer und es ist billiger, dies intern zu tun und mit einem CDN zu arbeiten.

    Rogerio - http://www.itjuju.com/

    Ps
    Ich habe ein bisschen über diese Situation nachgedacht, wenn nur 100 Leute zusammenkamen und jeden Monat den Preis für einen anständigen Server beisteuerten, für den sie normalerweise zahlen würden, könnten sie eine Hosting-Infrastruktur aufbauen / zusammenstellen, die fast alles bewältigen könnte.

  5. 8

    0.12 USD für die ersten Tage der S3-Dienste. Würden Sie das Thema in ein paar Monaten erneut aufgreifen und einige Statistiken zu Verkehr und Kosten anzeigen? Es wäre interessant zu sehen, wie sich die Kosten auf einzelne Besucher und auf Werbekosten oder andere Eingaben verteilen.

  6. 13
  7. 14

    Amazon S3 ist ein unglaublich geschätzter Dienst. Ich bin gerade dabei, es in ein CMS zu integrieren. Das einzige Problem, auf das ich aus Sicht der Entwicklung und nicht aus Sicht des Amazon-Dienstes gestoßen bin, ist, dass Sie möchten, dass Ihr Benutzer die Datei über POST transparent direkt in S3 hochlädt, und dass Sie ein mehrteiliges Formular haben, das Text enthält, der für Ihr lokales Unternehmen bestimmt ist Datenbank, du steckst fest. Sie müssen es entweder in zwei Formulare aufteilen oder versuchen, die Datei zuerst mit Ajax hochzuladen und dann bei Erfolg die Daten lokal zu senden.

    Wenn jemand eine bessere Lösung hat, kann er mich gerne informieren: o)

    Die Kosteneinsparungen beim Hosten großer Dateien mit hohem Datenverkehr rechtfertigen jedoch die Entwicklung eines solchen Systems.

    Gewähren

    Suppression List Management Systeme

  8. 15

    Hallo,

    Tolles Schreiben. Ich bin wie beschrieben durchgegangen, aber in meinem Admin-Bereich, in dem ich Bilder hochlade, wird keine S3-Schaltfläche angezeigt. Ich habe festgestellt, dass meine Bilder beim Hochladen normalerweise bei Amazon landen. Bedeutet dies, dass ich jetzt alle meine vorhandenen Bilder kopieren und die auf dem Server löschen kann?

    Und muss ich ändern, woher meine Bilder kommen, oder macht das Plugin dies?

  9. 16

    Hallo Scott,

    Rechts neben Ihrem typischen Symbol sollte ein kleines Datenbank-Symbol angezeigt werden. Mit diesem Symbol wird das Amazon-Fenster geöffnet. Ich habe alle wp-Inhalte / Uploads nach Amazon verschoben und sichergestellt, dass ich den gleichen Pfad habe… der einzige Unterschied ist die Subdomain. Sie waren bei http://www... und jetzt sind sie bei images.marketingtechblog.com. Nachdem ich alle Bilder auf Amazon kopiert hatte, verwendete ich PHPMyAdmin und suchte und ersetzte nach src = ”http://martech.zone und ersetzte es durch src =” images.marketingtechblog.com. ((https://martech.zone/wordpress/mysql-search-replace/)

    Hoffentlich hilft das! Es ist nicht nahtlos, aber es funktioniert.

    Doug

  10. 17

    Hey Douglas, danke dafür, ich habe die Datenbank aktualisiert, sodass alle Bilder auf Bilder zeigen. Aber ich sehe, dass einige der Daumen (wenn sie über die Seiteninfo betrachtet werden) das iamge immer noch unter www zeigen.

    Hier ist die Site (www.gamefreaks.co.nz) - a, die ebenfalls ein großes Speicherproblem für die Startseite hat, wurde erst gestartet, als wir das Hosting verschoben haben. Daher möchte ich jetzt einen Teil des Hosting-Drucks auf S3 verlagern. 😎

  11. 18
  12. 19
  13. 20
    • 21

      Es ist mit der neuesten Version kompatibel, aber ich mag die Funktionsweise ehrlich gesagt nicht - Sie müssen alle Bilder mit einem anderen Prozess verschieben und in S3 laden. Möglicherweise bauen wir tatsächlich eine robustere CDN-Integration (Content Delivery Network) mit WP auf, die synchronisiert und keinen anderen Prozess erfordert.

  14. 22
  15. 23

    Wissen Sie, ob dies auch mit „externen Eimern“ funktioniert? Ich möchte dies für einen Blog eines Freundes von mir einrichten und ihn einen Bucket in meinem AWS-Konto verwenden lassen (ich habe bereits ein Benutzerkonto für ihn erstellt und ihm mit den Amazon IAM-Tools Zugriff auf einen meiner Buckets gewährt).

  16. 24
  17. 25
    • 26

      Celia, geh zum AWS-Haus http://aws.amazon.com/ und wählen Sie in der Dropdown-Liste "Mein Konto / Konsole" die Option "Sicherheitsanmeldeinformationen" aus. Melden Sie sich bei Bedarf an. Scrollen Sie von dort nach unten zu Access Credentials, und Ihre Access Key IDs werden aufgelistet. Kopieren Sie eine davon für die Schlüssel-ID für dieses Plugin und klicken Sie dann auf den Link "Anzeigen", um den längeren geheimen Zugriffsschlüssel anzuzeigen. Kopieren Sie das und fügen Sie es ebenfalls in die Plugin-Einstellungen ein. Danach sollten Sie fertig sein!

  18. 27
  19. 28

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.