Mit dem Daumen können Bilder kostenlos bei Bedarf angepasst, komprimiert und umgewandelt werden.
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.