Thumbor dapat digunakan secara bebas untuk mengubah ukuran, mengompresi, dan mentransformasi gambar sesuai permintaan.
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.