Thumbor-Image-CDN installieren

Mit dem Daumen können Bilder kostenlos bei Bedarf angepasst, komprimiert und umgewandelt werden.

Katja Hempenius
Katie Hempenius

Mit Bild-CDNs können Sie Ästhetik und Leistung Ihrer Bilder ganz einfach dynamisch optimieren. Im Gegensatz zu den meisten Bild-CDNs ist Thumbor Open-Source-Software und kann kostenlos verwendet werden, um Bildgröße anzupassen, zu komprimieren und umzuwandeln. Es ist für die Produktion geeignet. Sowohl Wikipedia als auch Square verwenden Thumbor.

In dieser Anleitung wird die Installation von Thumbor auf deinem eigenen Server erläutert. Nach der Installation können Sie Thumbor als API zum Transformieren Ihrer Bilder verwenden.

Einleitung

Sie installieren Thumbor auf einer VM mit Ubuntu 16.04. Ubuntu 16.04 ist ein sehr gängiges Image und diese Anleitung gilt für alle Cloud-Anbieter. Das Erstellen einer VM mag nach mehr Arbeit klingen, als die Installation von Thumbor auf Ihrem lokalen Computer, aber die Minuten, die Sie zum Erstellen einer VM benötigen, sparen Ihnen wahrscheinlich Stunden oder Tage mit der ordnungsgemäßen Installation von Thumbor auf Ihrem lokalen Computer. Thumbor ist zwar einfach zu verwenden, ist aber bekanntermaßen schwierig zu installieren, aber diese Anweisungen vereinfachen den Vorgang. Wenn die Abhängigkeiten schnell heruntergeladen werden, kann die Installation in 5 bis 10 Minuten abgeschlossen sein.

Voraussetzungen

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 die VM mit Befehlszeilentools einrichten.

Thumbor-Abhängigkeiten installieren

Aktualisieren und aktualisieren Sie bereits installierte Ubuntu-Pakete:

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

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

sudo apt-get install -y python-pip

Thumbor-Abhängigkeiten installieren In der Thumbor-Dokumentation werden diese Abhängigkeiten nicht ausdrücklich 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

Thumbor mithilfe von pip installieren.

sudo pip install thumbor

Wenn Sie Thumbor erfolgreich installiert haben, sollte Folgendes funktionieren:

thumbor --help

Lauf-Daumen

Lauf Daumen. Die Protokollierung von Fehlern ist optional, kann aber bei den ersten Schritten hilfreich sein.

thumbor --log-level debug

Daumen läuft jetzt.

Offener Firewallport

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

Dies wird für Sie jedoch (noch) wahrscheinlich nicht funktionieren, da Cloud-Anbieter normalerweise 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 zur Vorgehensweise 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 diese URL HTTP verwendet. Thumbor verwendet standardmäßig HTTP, kann aber für HTTPS konfiguriert werden.

Sie sollten ein Bild sehen, das 100 Pixel breit und 100 Pixel hoch ist. Thumbor hat das Bild hero.jpg mit der im URL-String angegebenen Größe aufgenommen und das Ergebnis geliefert. Sie können das Bild in dem URL-String ersetzen (z.B. https://web.dev/install-thumbor/hero.jpg) durch ein beliebiges anderes Bild (z.B. https://your-site.com/cat.jpg) und mit dem Daumen können die Größe dieses Bildes ebenfalls angepasst werden.

Im Artikel Bilder mit Thumbor optimieren finden Sie weitere Informationen zur Verwendung der Thumbor API. Für Sie ist insbesondere die Einrichtung einer Thumbor-Konfigurationsdatei interessant.

Anhang: Systemd konfigurieren

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

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

Sie konfigurieren systemd so, dass Thumbor beim VM-Start automatisch gestartet wird. Beim Neustart der VM wird automatisch auch der Thumbor-Prozess neu gestartet. Das ist viel zuverlässiger, als Thumbor über das Eingreifen des Nutzers zu starten.

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 thumbor.service mit Ihrem bevorzugten Texteditor die folgende Konfiguration hinzu (vim und nano sind auf Ubuntu vorinstalliert oder Sie können einen anderen Editor installieren). Diese Konfiguration führt /usr/local/bin/thumbor (d. h. das Thumbor-Binärprogramm) aus, sobald das Netzwerk verfügbar ist. Thumbor wird bei einem Ausfall 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 zur Verwaltung von systemd. Verwenden Sie den Befehl start, um Thumbor zu starten.

sudo systemctl start thumbor.service

Aktiviere als Nächstes Thumbor. Das bedeutet, dass Thumbor beim Start automatisch gestartet wird.

sudo systemctl enable thumbor.service

Prüfen Sie, ob Sie systemd erfolgreich konfiguriert haben. Führen Sie dazu den Befehl status aus.

systemctl status thumbor.service

Wenn Sie „thumor.service“ erfolgreich für die Verwendung von systemd eingerichtet haben, sollte der Status anzeigen, dass der Dienst aktiviert und aktiv ist.

Systemctl, das den Status von Thumbor anzeigt