Come installare la CDN immagine Thumbor

Il pollice può essere utilizzato senza costi per ridimensionare, comprimere e trasformare le immagini on demand.

Katie Hempenius
Katie Hempenius

Le immagini CDN consentono di ottimizzare facilmente e in modo dinamico l'estetica e le prestazioni delle immagini. A differenza della maggior parte delle CDN di immagini, Thumbor è open source e può essere utilizzato senza costi per ridimensionare, comprimere e trasformare le immagini. È adatto per l'uso in produzione; sia Wikipedia che Square utilizzano entrambi Thumbor.

Questa guida spiega come installare Thumbor sul tuo server. Dopo l'installazione potrai utilizzare Thumbor come API per trasformare le tue immagini.

Introduzione

Stai installando Thumbor su una VM con Ubuntu 16.04. Ubuntu 16.04 è un'immagine molto comune e queste istruzioni sono pensate per funzionare su qualsiasi cloud provider. La creazione di una VM potrebbe sembrare più impegnativa dell'installazione di Thumbor sulla tua macchina locale, ma i minuti spesi per creare una VM ti faranno risparmiare ore o giorni di frustrazione nel cercare di far installare correttamente Thumbor sulla tua macchina locale. Sebbene sia facile da usare, Thumbor è notoriamente difficile da installare, ma queste istruzioni semplificano il processo. Se le dipendenze vengono scaricate rapidamente, l'installazione può essere completata in 5-10 minuti.

Prerequisiti

Questo post presuppone che tu sappia come creare una VM Ubuntu 16.04 LTS su una piattaforma cloud come Google Cloud, AWS, o Azure e come utilizzare gli strumenti a riga di comando per configurare la VM.

Installa dipendenze Thumbor

Aggiorna ed esegui l'upgrade dei pacchetti già installati di Ubuntu:

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

Installa pip, il gestore di pacchetti per Python. In seguito installerai Thumbor con pip.

sudo apt-get install -y python-pip

Installa le dipendenze di Thumbor. La documentazione di Thumbor non menziona esplicitamente queste dipendenze, ma Thumbor non esegue correttamente l'installazione senza di esse.

# 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

Installa Thumbor

Installa Thumbor utilizzando pip.

sudo pip install thumbor

Se hai installato correttamente Thumbor, dovrebbe funzionare:

thumbor --help

Esegui Thumbor

Esegui Thumbor. Il logging del debug è facoltativo, ma può essere utile quando inizi.

thumbor --log-level debug

L'app Mi piace è ora in esecuzione.

Porta firewall aperta

Per impostazione predefinita, Thumbor viene eseguito sulla porta 8888. Se l'indirizzo IP della tua VM è 12.123.12.122, accedi a Thumbor dal browser web all'indirizzo http://12.123.12.123:8888/.../$IMAGE.

Tuttavia, questo probabilmente non funzionerà per te (ancora) perché i cloud provider di solito richiedono di aprire esplicitamente le porte del firewall prima di accettare il traffico in entrata.

Aggiorna il firewall per esporre la porta 8888. Ecco ulteriori informazioni su come eseguire questa operazione per: Google Cloud, AWS e Azure. Tieni presente che, per Google Cloud, devi prima assegnare un indirizzo IP statico alla tua VM e poi consentire una connessione HTTP esterna.

Provala

Il pollice è ora accessibile e pronto per l'uso. Provala visitando il seguente URL:

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

Tieni presente che questo URL utilizza HTTP. Il pollice utilizza HTTP per impostazione predefinita, ma può essere configurato per l'utilizzo di HTTPS.

Dovrebbe essere visualizzata un'immagine di 100 pixel di larghezza per 100 pixel di altezza. Mi piace ha preso l'immagine hero.jpg e le dimensioni specificate nella stringa URL e ha restituito il risultato. Puoi sostituire l'immagine nella stringa dell'URL (ad es. https://web.dev/install-thumbor/hero.jpg) con qualsiasi altra immagine (ad es. https://your-site.com/cat.jpg) e Mi piace ridimensioneranno anche l'immagine.

L'articolo Ottimizzare le immagini con Thumbor contiene ulteriori informazioni sull'utilizzo dell'API Thumbor. In particolare, ti potrebbe interessare impostare un file di configurazione di Thumbor.

Appendice: Configurazione di Systemd

Questo passaggio spiega come assicurarsi che il processo Thumbor continui in esecuzione, anche dopo il riavvio della VM. Questo passaggio è importante per i siti di produzione, ma è facoltativo se vuoi usare Thumbor.

Systemd è il "gestore di sistema e servizio" per i sistemi operativi Linux. systemd semplifica la configurazione dell'esecuzione dei servizi (processi).

Configurerai systemd per avviare automaticamente Thumbor all'avvio della VM. Se la VM viene riavviata, anche il processo Thumbor viene riavviato automaticamente. Questo è molto più affidabile che fare affidamento sull'intervento dell'utente per avviare Thumbor.

Vai alla directory /lib/systemd/system. Questa directory contiene i file di servizio per systemd.

cd /lib/systemd/system

Come super user, crea un file thumbor.service.

sudo touch thumbor.service

Utilizzando il tuo editor di testo preferito (vim e nano sono preinstallati su Ubuntu oppure puoi installare un altro editor), aggiungi la seguente configurazione a thumbor.service. Questa configurazione eseguirà /usr/local/bin/thumbor (ovvero il programma binario Thumbor) quando il networking sarà disponibile e riavvierà Thumbor in caso di errore.

[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 è l'utilità utilizzata per gestire systemd. Usa il comando start per avviare Thumbor.

sudo systemctl start thumbor.service

Quindi, "attiva" il pollice. Ciò significa che Thumbor si avvia automaticamente all'avvio.

sudo systemctl enable thumbor.service

Verifica di aver configurato correttamente systemd eseguendo il comando status.

systemctl status thumbor.service

Se hai configurato correttamente thumbor.service per l'utilizzo di systemd, lo stato dovrebbe indicare che è abilitato e attivo.

Systemctl che mostra lo stato di Thumbor