Thumbor-Image-CDN installieren

Mit Thumbor können Sie bei Bedarf die Größe, Komprimierung und Umwandlung von Bildern kostenlos anpassen.

Katie Hempenius
Katie Hempenius

Mit Bild-CDNs können Sie die Ästhetik und Leistung Ihrer Bilder ganz einfach dynamisch optimieren. Im Gegensatz zu den meisten Bild-CDNs ist Thumbor eine Open-Source-Software und kann kostenlos zum Anpassen, Komprimieren und Transformieren von Bildern verwendet werden. Es ist für die Produktion geeignet. Wikipedia und Square verwenden beide Thumbor.

In dieser Anleitung wird erläutert, wie Sie Thumbor auf Ihrem eigenen Server installieren. Nach der Installation können Sie Thumbor als API zum Transformieren Ihrer Bilder verwenden.

Einführung

Sie installieren Thumbor auf einer VM mit Ubuntu 16.04. Ubuntu 16.04 ist ein sehr verbreitetes Image und diese Anleitung gilt für alle Cloud-Anbieter. Das Erstellen einer VM mag nach mehr Aufwand klingen, als Thumbor auf Ihrem lokalen Computer zu installieren, aber die Minuten, die Sie für das Erstellen einer VM benötigen, werden Ihnen wahrscheinlich Stunden oder Tage der Frustration ersparen, wenn Sie versuchen, Thumbor zur ordnungsgemäßen Installation auf Ihrem lokalen Computer zu bringen. Thumbor ist zwar einfach zu bedienen, aber bekanntermaßen schwierig zu installieren, aber diese Anleitung vereinfacht den Prozess. Wenn Abhängigkeiten schnell heruntergeladen werden, kann die Installation in fünf bis zehn Minuten abgeschlossen werden.

Vorbereitung

In diesem Beitrag wird davon ausgegangen, dass Sie wissen, wie Sie eine Ubuntu 16.04 LTS-VM auf einer Cloud-Plattform wie Google Cloud, AWS, oder Azure erstellen und wie Sie Befehlszeilentools zum Einrichten der VM verwenden.

Thumbor-Abhängigkeiten installieren

Aktualisieren und aktualisieren Sie die bereits installierten Pakete von Ubuntu:

sudo apt-get update -y && sudo apt-get upgrade -y

Installieren Sie pip, den Paketmanager für Python. Später installieren Sie Thumbor mit pip.

sudo apt-get install -y python-pip

Installieren Sie Thumbor-Abhängigkeiten. Diese Abhängigkeiten werden in der Dokumentation von Thumbor nicht explizit erwähnt, aber Thumbor kann ohne sie nicht erfolgreich installiert werden.

# ssl packages
sudo apt-get install -y libcurl4-openssl-dev libssl-dev
# computer vision packages
sudo apt-get install -y python-opencv libopencv-dev
# image format packages
sudo apt-get install -y libjpeg-dev libpng-dev libwebp-dev webp

Thumbor installieren

Installieren Sie Thumbor mit pip.

sudo pip install thumbor

Wenn Sie Thumbor erfolgreich installiert haben, sollte Folgendes funktionieren:

thumbor --help

Daumen ausführen

Führen Sie Thumbor aus. Die Fehlerprotokollierung ist optional, kann aber für den Einstieg hilfreich sein.

thumbor --log-level debug

Thumbor wird jetzt ausgeführt.

Offener Firewall-Port

Standardmäßig wird für Thumbor Port 8888 ausgeführt. Wenn die IP-Adresse Ihrer VM 12.123.12.122 lautet, greifen Sie über den Webbrowser unter http://12.123.12.123:8888/.../$IMAGE auf Thumbor zu.

Dies funktioniert jedoch (noch) wahrscheinlich nicht für Sie, da Cloud-Anbieter in der Regel verlangen, dass Sie Firewall-Ports explizit öffnen, bevor sie eingehenden Traffic akzeptieren.

Aktualisieren Sie die Firewall, um Port 8888 verfügbar zu machen. Weitere Informationen dazu finden Sie für Google Cloud, AWS und Azure. Beachten Sie, dass Sie für Google Cloud zuerst Ihrer VM eine statische IP-Adresse zuweisen und dann eine externe HTTP-Verbindung zulassen müssen.

Google Cloud Platform testen

Thumbor ist jetzt verfügbar und einsatzbereit. Probieren Sie es aus, indem Sie die folgende URL aufrufen:

http://YOUR_VIRTUAL_MACHINE:8888/unsafe/100x100/https://web.dev/install-thumbor/hero.jpg

Beachten Sie, dass für diese URL HTTP verwendet wird. Thumbor verwendet standardmäßig HTTP, kann aber für die Verwendung von HTTPS konfiguriert werden.

Sie sollten ein Bild sehen, das 100 Pixel breit und 100 Pixel hoch ist. Thumbor hat das Bild hero.jpg und die im URL-String angegebene Größe genommen und das Ergebnis ausgegeben. Sie können das Bild im URL-String ersetzen (z.B. https://web.dev/install-thumbor/hero.jpg) durch ein anderes Bild (z.B. https://your-site.com/cat.jpg) und Thumbor passt die Größe dieses Bildes ebenfalls an.

Im Artikel Bilder mit Thumbor optimieren finden Sie weitere Informationen zur Verwendung der Thumbor API. Die Einrichtung einer Thumbor-Konfigurationsdatei könnte für Sie von Interesse sein.

Anhang: Systemd konfigurieren

In diesem Schritt wird erläutert, wie Sie sicherstellen können, dass der Thumbor-Prozess auch nach dem Neustart der VM weiterhin ausgeführt wird. Dieser Schritt ist für Produktionswebsites wichtig, aber optional, wenn Sie nur mit Thumbor experimentieren.

Systemd ist der „System- und Dienstmanager“. für Linux-Betriebssysteme. Mit systemd lässt sich ganz einfach konfigurieren, wann Dienste (Prozesse) ausgeführt werden.

Sie konfigurieren systemd so, dass Thumbor beim VM-Start automatisch gestartet wird. Bei einem Neustart der VM wird auch der Thumbor-Prozess automatisch neu gestartet. Dies ist wesentlich zuverlässiger, als sich beim Starten von Thumbor auf Nutzereingriffe zu verlassen.

Rufen Sie das Verzeichnis /lib/systemd/system auf. Dieses Verzeichnis enthält die Dienstdateien für systemd.

cd /lib/systemd/system

Erstellen Sie als Superuser eine thumbor.service-Datei.

sudo touch thumbor.service

Fügen Sie in Ihrem bevorzugten Texteditor (vim und nano sind auf Ubuntu vorinstalliert oder Sie können einen anderen Editor installieren) die folgende Konfiguration zu thumbor.service hinzu. Bei dieser Konfiguration wird /usr/local/bin/thumbor (d. h. das Thumbor-Binärprogramm) ausgeführt, sobald das Netzwerk verfügbar ist. Thumbor wird nach einem Fehler neu gestartet.

[Unit]

Description=Service for Thumbor image CDN

Documentation=https://thumbor.readthedocs.io/en/latest/

After=network.target

[Service]

ExecStart=/usr/local/bin/thumbor

Restart=on-failure

[Install]

WantedBy=multi-user.target

systemctl ist das Dienstprogramm, mit dem systemd verwaltet wird. Verwenden Sie den Befehl start, um Thumbor zu starten.

sudo systemctl start thumbor.service

Klicken Sie dann auf „Aktivieren“, Daumen hoch. Das bedeutet, dass Thumbor beim Start automatisch gestartet wird.

sudo systemctl enable thumbor.service

Prüfen Sie mit dem Befehl status, ob Sie systemd erfolgreich konfiguriert haben.

systemctl status thumbor.service

Wenn du „thumbor.service“ für die Verwendung von systemd eingerichtet hast, sollte im Status angezeigt werden, dass die Datei aktiviert und aktiv ist.

Systemctl, das den Thumbor-Status anzeigt