it-swarm.com.de

Laden Sie Bilder von mehreren Standorten direkt auf Amazon S3 hoch

Ich habe ein Netzwerk mit mehreren Standorten erstellt, aber festgestellt, dass viele Benutzer eine Menge Bilddateien hochladen, die meinen Serverplatz verstopfen.

Gibt es eine Möglichkeit, das Standard-Netzwerkdesign zu ändern (Benutzer können nur 1 Standarddesign verwenden), sodass alle Bilder in mein S3-Konto hochgeladen und dann wie gewohnt im Wordpress-Medien-Uploader angezeigt werden?

Ich möchte in der Lage sein, dies automatisch zu tun, im Gegensatz dazu, dass alle Benutzer meines Netzwerks ein Plugin manuell installieren müssen, da einige von ihnen nicht wirklich technisch versiert sind.

4
Dean Elliott

Wenn Sie auf einem dedizierten Linux-Server arbeiten und mit der Befehlszeile vertraut sind, können Sie s3fs installieren. Dies ist ein Programm, mit dem Sie Ihren Amazon S3-Bucket tatsächlich als Verzeichnis auf Ihrem Server bereitstellen können.

In der Standardumgebung mit mehreren Sites werden Medien-Uploads für alle Sites außer der Hauptsite im Verzeichnis blogs.dir im Verzeichnis wp-content gespeichert. Ich führe derzeit eine Multisite-Installation durch, bei der blogs.dir IS meinen gemounteten S3-Bucket enthält. Hier ist eine Übersicht ...

  1. Benennen Sie den Ordner blogs.dir in _blogs.dir um. (Hinweis: Dadurch kann vorübergehend nicht auf alle Multisite-Mediendateien zugegriffen werden.).
  2. Erstellen Sie ein neues Verzeichnis mit dem Namen blogs.dir.
  3. Installieren und verwenden Sie s3fs, um Ihren s3-Bucket in das Verzeichnis blogs.dir zu laden.
  4. Kopieren Sie den Inhalt des Ordners _blogs.dir in das neue Verzeichnis blogs.dir. Dadurch werden alle Dateien und Ordner direkt in Ihren S3-Bucket kopiert. (Je nach Anzahl der Bilder kann es eine Weile dauern.).
  5. Überprüfen Sie anschließend die Homepage einer Ihrer Benutzerseiten (nicht Ihrer Hauptseiten) und stellen Sie sicher, dass Wordpress die Bilder lesen und anzeigen kann.
  6. Stellen Sie sicher, dass der Bucket beim Booten aktiviert ist, falls Sie Ihren Server neu starten müssen. Unter Linux wird dies häufig durch Hinzufügen eines Befehls s3fs zur Datei/etc/fstab erreicht.

Wie bei allem gibt es Vor- und Nachteile bei diesem Setup.

Die Profis sind, dass jedes Mal, wenn ein Benutzer eine Mediendatei auf seine Multisite hochlädt, diese direkt auf Ihrem S3-Bucket gespeichert wird. Und wenn das Medium gefragt ist, wird es aus dem Eimer gezogen. Wenn ein Benutzer ein Bild innerhalb des Wordpress-Administrators bearbeitet, werden die Änderungen erneut direkt in Ihrem S3-Bucket gespeichert.

Die Nachteile sind, dass die Schnittstelle für das Hochladen neuer Dateien im Backend etwas langsamer wird und das Lesen der Dateien möglicherweise auch etwas langsamer wird (es sei denn, Sie können die .htaccess-Umschreibregeln in Apache verwenden, um die Medien-URL direkt an s3 umzuleiten. was möglich ist, aber über den Rahmen dieser Antwort hinausgeht).

Hoffe das hilft. Unter s3fs finden Sie Informationen zur Installation und Verwendung von s3fs.

6
Mark