Jak zainstalować CDN z obrazami Thumbor

Aplikacja Thumbor pozwala bezpłatnie zmieniać rozmiar, kompresować i przekształcać obrazy na żądanie.

Katie Hempenius
Katie Hempenius

Sieci CDN obrazów ułatwiają dynamiczne optymalizowanie estetyki i wydajności obrazów. W przeciwieństwie do większości graficznych sieci CDN platforma Thumbor jest oprogramowaniem typu open source i można z niego bezpłatnie korzystać, aby zmieniać rozmiar, kompresować i przekształcać obrazy. Nadaje się do zastosowań produkcyjnych. Zarówno Wikipedia, jak i Kwadrat używają przycisku Thumbor.

Z tego przewodnika dowiesz się, jak zainstalować aplikację Thumbor na własnym serwerze. Po zainstalowaniu możesz używać aplikacji Thumbor jako interfejsu API do przekształcania obrazów.

Wprowadzenie

Instalujesz Thumbor na maszynie wirtualnej z Ubuntu 16.04. Ubuntu 16.04 to bardzo popularny obraz i te instrukcje powinny zadziałać u każdego dostawcy chmury. Utworzenie maszyny wirtualnej może wydawać się bardziej pracochłonne niż zainstalowanie aplikacji Thumbor na komputerze lokalnym, ale kilka minut potrzebnych na utworzenie maszyny wirtualnej zaoszczędzi Ci wiele godzin lub dni frustracji, gdy trzeba będzie zainstalować Thumbor na komputerze lokalnym. Chociaż aplikacja Thumbor jest łatwa w użyciu, ale te instrukcje upraszczają ten proces. Jeśli zależności zostaną pobrane szybko, instalacja może potrwać 5–10 minut.

Wymagania wstępne

W tym poście zakładamy, że wiesz, jak utworzyć maszynę wirtualną LTS z Ubuntu 16.04 na platformie chmurowej, takiej jak Google Cloud, AWS, lub Azure, i jak skonfigurować maszynę wirtualną za pomocą narzędzi wiersza poleceń.

Zainstaluj zależności oprogramowania Thumbor

Zaktualizuj i zaktualizuj już zainstalowane pakiety Ubuntu:

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

Zainstaluj pip – menedżera pakietów dla Pythona. Później zainstalujesz Thumbor za pomocą pip.

sudo apt-get install -y python-pip

Zainstaluj zależności aplikacji Thumbor. Dokumentacja aplikacji Thumbor nie wspomina o tych zależnościach, ale bez nich nie uda się zainstalować aplikacji Thumbor.

# 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

Zainstaluj Thumbor

Zainstaluj aplikację Thumbor za pomocą pipa.

sudo pip install thumbor

Jeśli aplikacja Thumbor została zainstalowana, powinno zadziałać:

thumbor --help

Plecak biegowy

Uruchom Thumbor. Logowanie debugowania jest opcjonalne, ale może być pomocne na początku.

thumbor --log-level debug

Aplikacja Thumbor jest uruchomiona.

Otwarty port zapory sieciowej

Domyślnie aplikacja Thumbor działa na porcie 8888. Jeśli adres IP maszyny wirtualnej to 12.123.12.122, dostęp do aplikacji Thumbor uzyskasz w przeglądarce pod adresem http://12.123.12.123:8888/.../$IMAGE.

Prawdopodobnie jednak to nie zadziała, ponieważ dostawcy usług w chmurze zwykle wymagają jawnego otwarcia portów zapory sieciowej, zanim zaakceptują ruch przychodzący.

Zaktualizuj zaporę sieciową, aby udostępnić port 8888. Dowiedz się więcej o tym, jak to zrobić w przypadku Google Cloud, AWS i Azure. Pamiętaj, że w przypadku Google Cloud musisz najpierw przypisać statyczny adres IP do maszyny wirtualnej, a potem zezwolić na zewnętrzne połączenie HTTP.

Wypróbuj

Aplikacja Thumbor jest teraz dostępna i można z niej korzystać. Aby wypróbować tę funkcję, odwiedź następujący adres URL:

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

Pamiętaj, że ten adres URL używa protokołu HTTP. Aplikacja Thumbor domyślnie używa HTTP, ale można ją skonfigurować pod kątem używania HTTPS.

Powinien zostać wyświetlony obraz o wymiarach 100 pikseli szerokości na 100 pikseli wysokości. Aplikacja Thumbor pobrała obraz hero.jpg o rozmiarze określonym w ciągu adresu URL i wyświetlił wynik. Obraz możesz zastąpić w ciągu adresu URL (np. https://web.dev/install-thumbor/hero.jpg) innym obrazem (np. https://your-site.com/cat.jpg) i Thumbor zmieni też rozmiar tego obrazu.

Więcej informacji o korzystaniu z interfejsu Thumbor API znajdziesz w artykule Optymalizacja obrazów za pomocą aplikacji Thumbor. W szczególności może Cię zainteresować skonfigurowanie pliku konfiguracji aplikacji Thumbor.

Dodatek: konfigurowanie systemu

Ten krok wyjaśnia, jak upewnić się, że proces aplikacji Thumbor będzie działał nawet po ponownym uruchomieniu maszyny wirtualnej. Ten krok jest ważny w przypadku witryn produkcyjnych, ale opcjonalny, jeśli używasz tylko aplikacji Thumbor.

Systemd to „menedżer systemu i usługi” dla systemów operacyjnych Linux. systemd ułatwia konfigurację uruchamiania usług (procesów).

Skonfigurujesz usługę systemd tak, aby automatycznie uruchamiała narzędzie Thumbor podczas rozruchu maszyny wirtualnej. Jeśli maszyna wirtualna zostanie ponownie uruchomiona, proces aplikacji Thumbor również zostanie automatycznie uruchomiony ponownie. To znacznie bardziej niezawodne rozwiązanie niż uruchamianie aplikacji Thumbor przez interwencję użytkownika.

Przejdź do katalogu /lib/systemd/system. Ten katalog zawiera pliki usługi systemd.

cd /lib/systemd/system

Jako superużytkownik utwórz plik thumbor.service.

sudo touch thumbor.service

Za pomocą swojego ulubionego edytora tekstu (vim i nano są wstępnie zainstalowane w systemie Ubuntu lub możesz zainstalować inny edytor) dodaj do thumbor.service następującą konfigurację. Ta konfiguracja uruchomi /usr/local/bin/thumbor (czyli plik binarny Thumbor) po udostępnieniu sieci, a w przypadku niepowodzenia uruchomi ją ponownie.

[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 to narzędzie służące do zarządzania domeną systemd. Aby uruchomić aplikację Thumbor, użyj polecenia start.

sudo systemctl start thumbor.service

Następnie „włącz” Lubię. Oznacza to, że Thumbor uruchomi się automatycznie po uruchomieniu.

sudo systemctl enable thumbor.service

Sprawdź, czy udało się skonfigurować systemd, uruchamiając polecenie status.

systemctl status thumbor.service

Jeśli udało się skonfigurować thumbor.service do używania interfejsu systemd, stan powinien wskazywać, że jest ona włączona i aktywna.

Systemctl wyświetlający stan aplikacji Thumbor