Cara menginstal CDN image Thumbor

Thumbor dapat digunakan secara bebas untuk mengubah ukuran, mengompresi, dan mentransformasi gambar sesuai permintaan.

Katie Hempenius
Katie Hempenius

CDN Gambar memudahkan Anda mengoptimalkan estetika dan performa gambar secara dinamis. Tidak seperti kebanyakan CDN gambar, Thumbor adalah open source dan dapat digunakan secara gratis untuk mengubah ukuran, mengompresi, dan mentransformasi gambar. Mode ini cocok untuk penggunaan produksi; Wikipedia dan Square menggunakan Thumbor.

Panduan ini menjelaskan cara menginstal Thumbor di server Anda sendiri. Setelah diinstal, Anda dapat menggunakan Thumbor sebagai API untuk mengubah gambar.

Pengantar

Anda akan menginstal Thumbor pada VM yang menjalankan Ubuntu 16.04. Ubuntu 16.04 adalah image yang sangat umum dan instruksi ini dimaksudkan untuk berfungsi pada penyedia cloud apa pun. Membuat VM mungkin terdengar seperti pekerjaan yang lebih berat daripada menginstal Thumbor di komputer lokal Anda, tetapi waktu yang diperlukan untuk membuat VM mungkin akan menghemat berjam-jam atau berhari-hari saat Anda mencoba membuat Thumbor diinstal dengan benar di komputer lokal Anda. Meskipun mudah digunakan, Thumbor terkenal sulit diinstal, tetapi petunjuk ini menyederhanakan prosesnya. Jika dependensi didownload dengan cepat, penginstalan dapat diselesaikan dalam waktu 5 hingga 10 menit.

Prasyarat

Postingan ini mengasumsikan bahwa Anda mengetahui cara membuat VM Ubuntu 16.04 LTS di platform cloud seperti Google Cloud, AWS, atau Azure dan cara menggunakan alat command line untuk menyiapkan VM.

Menginstal Dependensi Thumbor

Perbarui dan upgrade paket Ubuntu yang sudah diinstal:

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

Instal pip, pengelola paket untuk Python. Kemudian, Anda akan menginstal Thumbor dengan pip.

sudo apt-get install -y python-pip

Instal dependensi Thumbor. Dokumentasi Thumbor tidak menyebutkan dependensi ini secara eksplisit, tetapi Thumbor tidak akan berhasil diinstal tanpa dependensi tersebut.

# 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

Instal Thumbor

Menginstal Thumbor menggunakan pip.

sudo pip install thumbor

Jika Anda berhasil menginstal Thumbor, hal berikut akan berfungsi:

thumbor --help

Jalankan Thumbor

Jalankan Thumbor. Logging debug bersifat opsional, tetapi dapat membantu saat Anda memulai.

thumbor --log-level debug

Thumbor sekarang berjalan.

Port Firewall Terbuka

Secara default, Thumbor berjalan pada port 8888. Jika alamat IP VM Anda adalah 12.123.12.122, Anda akan mengakses Thumbor dari browser web di http://12.123.12.123:8888/.../$IMAGE.

Namun, cara ini mungkin belum berhasil untuk Anda karena penyedia cloud biasanya mengharuskan Anda membuka port firewall secara eksplisit sebelum mereka menerima traffic masuk.

Update firewall untuk mengekspos port 8888. Berikut informasi selengkapnya tentang cara melakukannya untuk: Google Cloud, AWS, dan Azure. Perlu diperhatikan bahwa untuk Google Cloud, Anda harus menetapkan alamat IP statis ke VM terlebih dahulu, lalu mengizinkan koneksi HTTP eksternal.

Cobalah

Thumbor kini dapat diakses dan siap digunakan. Cobalah dengan mengunjungi URL berikut:

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

Perhatikan bahwa URL ini menggunakan HTTP. Thumbor menggunakan HTTP secara default, tetapi dapat dikonfigurasi untuk menggunakan HTTPS.

Anda akan melihat gambar dengan lebar 100 piksel dan tinggi 100 piksel. Thumbor telah mengambil gambar hero.jpg dan ukuran yang ditentukan dalam string URL dan menampilkan hasilnya. Anda dapat mengganti gambar di string URL (yaitu, https://web.dev/install-thumbor/hero.jpg) dengan gambar lain (misalnya, https://your-site.com/cat.jpg) dan Thumbor juga akan mengubah ukuran gambar tersebut.

Artikel Mengoptimalkan gambar dengan Thumbor memiliki informasi selengkapnya tentang cara menggunakan Thumbor API. Secara khusus, Anda mungkin tertarik untuk menyiapkan file konfigurasi Thumbor.

Lampiran: Mengonfigurasi Systemd

Langkah ini menjelaskan cara memastikan bahwa proses Thumbor tetap berjalan, bahkan setelah VM dimulai ulang. Langkah ini penting untuk situs produksi, tetapi opsional jika Anda hanya ingin bermain-main dengan Thumbor.

Systemd adalah "pengelola sistem dan layanan" untuk sistem operasi Linux. systemd memudahkan konfigurasi saat layanan (proses) berjalan.

Anda akan mengonfigurasi systemd untuk memulai Thumbor secara otomatis saat booting VM. Jika VM dimulai ulang, proses Thumbor juga akan otomatis dimulai ulang. Tindakan ini jauh lebih andal daripada mengandalkan intervensi pengguna untuk memulai Thumbor.

Buka direktori /lib/systemd/system. Direktori ini berisi file layanan untuk systemd.

cd /lib/systemd/system

Sebagai superuser, buat file thumbor.service.

sudo touch thumbor.service

Dengan menggunakan editor teks favorit Anda (vim dan nano sudah terinstal sebelumnya di Ubuntu atau Anda dapat menginstal editor lain), tambahkan konfigurasi berikut ke thumbor.service. Konfigurasi ini akan menjalankan /usr/local/bin/thumbor (yaitu biner Thumbor) setelah jaringan tersedia dan akan memulai ulang Thumbor saat kegagalan.

[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 adalah utilitas yang digunakan untuk mengelola systemd. Gunakan perintah start untuk memulai Thumbor.

sudo systemctl start thumbor.service

Selanjutnya, "aktifkan" Thumbor. Artinya, Thumbor akan otomatis dimulai saat booting.

sudo systemctl enable thumbor.service

Pastikan Anda telah berhasil mengonfigurasi systemd dengan menjalankan perintah status.

systemctl status thumbor.service

Jika Anda berhasil menyiapkan thumbor.service untuk menggunakan systemd, status akan menunjukkan bahwa thumbor.service telah diaktifkan dan aktif.

Systemctl menampilkan status Thumbor