Installer le CDN de l'image Thumbor

Thumbor peut être utilisé sans frais pour redimensionner, compresser et transformer des images à la demande.

Katie Hempenius
Katie Hempenius

Les CDN pour les images permettent d'optimiser facilement et de manière dynamique l'esthétique et les performances de vos images. Contrairement à la plupart des CDN d'images, Thumbor est Open Source et peut être utilisé sans frais pour redimensionner, compresser et transformer des images. Elle est adaptée à une utilisation en production. Les pages Wikipédia et Square utilisent toutes deux Thumbor.

Ce guide explique comment installer Thumbor sur votre propre serveur. Une fois l'application installée, vous pourrez utiliser Thumbor comme API pour transformer vos images.

présentation

Vous allez installer Thumbor sur une VM exécutant Ubuntu 16.04. Ubuntu 16.04 est une image très courante et ces instructions sont destinées à fonctionner avec n'importe quel fournisseur de services cloud. La création d'une VM peut sembler plus fastidieuse que l'installation de Thumbor sur votre machine locale, mais les minutes que vous prenez pour créer une VM vous feront probablement gagner des heures, voire des jours de frustration à essayer de faire installer correctement Thumbor sur votre machine locale. Bien qu'il soit facile à utiliser, Thumbor est connu pour être difficile à installer, mais ces instructions simplifient le processus. Si le téléchargement des dépendances est rapide, l'installation peut prendre 5 à 10 minutes.

Prérequis

Dans cet article, nous partons du principe que vous savez créer une VM Ubuntu 16.04 LTS sur une plate-forme cloud telle que Google Cloud, AWS, ou Azure, et comment configurer la VM à l'aide d'outils de ligne de commande.

Installer les dépendances Thumbor

Mettez à jour et mettez à jour les packages déjà installés sur Ubuntu:

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

Installez pip, le gestionnaire de packages pour Python. Vous installerez Thumbor avec pip plus tard.

sudo apt-get install -y python-pip

Installez les dépendances de Thumbor. La documentation de Thumbor ne mentionne pas explicitement ces dépendances, mais Thumbor ne pourra pas s'installer sans ces dépendances.

# 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

Installer Thumbor

Installez Thumbor à l'aide de pip.

sudo pip install thumbor

Si vous avez réussi à installer Thumbor, cela devrait fonctionner:

thumbor --help

Lancer le pouce

Lancer Thumb. La journalisation des données de débogage est facultative, mais elle peut être utile pour vous lancer.

thumbor --log-level debug

Thumbor est désormais activé.

Port de pare-feu ouvert

Par défaut, Thumbor s'exécute sur le port 8888. Si l'adresse IP de votre VM est 12.123.12.122, vous pouvez accéder à Thumbor depuis le navigateur Web à l'adresse http://12.123.12.123:8888/.../$IMAGE.

Toutefois, cela ne fonctionnera probablement pas (encore) pour vous, car les fournisseurs de services cloud exigent généralement d'ouvrir explicitement les ports de pare-feu avant d'accepter le trafic entrant.

Mettez à jour le pare-feu pour exposer le port 8888. Voici comment procéder pour Google Cloud, AWS et Azure. Notez que pour Google Cloud, vous devez d'abord attribuer une adresse IP statique à votre VM, puis autoriser une connexion HTTP externe.

Faire le test

Thumbor est désormais accessible et prêt à être utilisé. Essayez-la en accédant à l'URL suivante:

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

Notez que cette URL utilise le protocole HTTP. Thumbor utilise le protocole HTTP par défaut, mais il peut être configuré pour utiliser HTTPS.

Vous devriez voir une image de 100 pixels de large sur 100 pixels de haut. Thumbor a pris l'image hero.jpg et la taille spécifiée dans la chaîne d'URL et a diffusé le résultat. Vous pouvez remplacer l'image dans la chaîne de l'URL (par exemple, https://web.dev/install-thumbor/hero.jpg) par une autre image (par exemple, https://your-site.com/cat.jpg) et Thumbor la redimensionneront également.

Pour en savoir plus sur l'utilisation de l'API Thumbor, consultez l'article Optimiser les images avec Thumbor. En particulier, vous pouvez être intéressé par la configuration d'un fichier de configuration Thumbor.

Annexe: Configurer systemd

Cette étape explique comment s'assurer que le processus Thumbor continue de s'exécuter, même après le redémarrage de la VM. Cette étape est importante pour les sites de production, mais facultative si vous ne faites que tester Thumbor.

Systemd est le "gestionnaire de systèmes et de services" des systèmes d'exploitation Linux. systemd facilite la configuration du moment où les services (processus) s'exécutent.

Vous allez configurer systemd pour lancer automatiquement Thumbor au démarrage de la VM. Si la VM est redémarrée, le processus Thumbor redémarre automatiquement. Cette méthode est beaucoup plus fiable que de compter sur l'intervention de l'utilisateur pour lancer Thumbor.

Accédez au répertoire /lib/systemd/system. Ce répertoire contient les fichiers de service pour systemd.

cd /lib/systemd/system

En tant que super-utilisateur, créez un fichier thumbor.service.

sudo touch thumbor.service

À l'aide de l'éditeur de texte de votre choix (vim et nano sont préinstallés sur Ubuntu, ou vous pouvez installer un autre éditeur), ajoutez la configuration suivante à thumbor.service. Cette configuration exécutera /usr/local/bin/thumbor (c'est-à-dire le binaire Thumbor) une fois la mise en réseau disponible et redémarrera Thumbor en cas d'échec.

[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 est l'utilitaire qui permet de gérer systemd. Utilisez la commande start pour lancer Thumbor.

sudo systemctl start thumbor.service

Ensuite, « activer » Thumbor. Cela signifie que Thumbor démarrera automatiquement au démarrage.

sudo systemctl enable thumbor.service

Vérifiez que vous avez correctement configuré systemd en exécutant la commande status.

systemctl status thumbor.service

Si vous avez réussi à configurer Thumbor.service pour utiliser systemd, l'état doit indiquer qu'il est activé et actif.

Systemctl affichant l'état de Thumbor