Küçük resim CDN'sini yükleme

Thumbor, resimleri isteğe bağlı olarak ücretsiz olarak yeniden boyutlandırmak, sıkıştırmak ve dönüştürmek için kullanılabilir.

Katie Hempenius
Katie Hempenius

Resim CDN'leri, resimlerinizin estetiğini ve performansını dinamik olarak optimize etmenizi kolaylaştırır. Çoğu resim CDN'nin aksine Thumbor açık kaynaklıdır ve resimleri yeniden boyutlandırmak, sıkıştırmak ve dönüştürmek için ücretsiz olarak kullanılabilir. Üretimde kullanım için uygundur; Wikipedia ve Square'de Thumbor kullanılır.

Bu kılavuzda, Thumbor'ı kendi sunucunuza nasıl yükleyeceğiniz açıklanmaktadır. Thumbor'ı yükledikten sonra, resimlerinizi dönüştürmek için API olarak kullanabilirsiniz.

Giriş

Thumbor'ı, Ubuntu 16.04 çalıştıran bir sanal makineye yükleyeceksiniz. Ubuntu 16.04 çok yaygın bir görüntüdür ve bu talimatlar tüm bulut sağlayıcıları üzerinde çalışmak üzere tasarlanmıştır. Sanal makine oluşturmak, yerel makinenize Thumbor'ı yüklemekten daha fazla iş gibi görünebilir. Ancak bir sanal makine oluşturmak için harcadığınız dakikalar, Thumbor'ın yerel makinenize düzgün bir şekilde yüklenmesini sağlamaya çalışırken saatlerce veya günlerce yorulmanızı sağlayabilir. Thumbor'ın kullanımı kolay olsa da yüklenmesi zor bir uygulamadır ancak bu talimatlar süreci basitleştirir. Bağımlılıklar hızlı bir şekilde indirilirse yükleme 5-10 dakika içinde tamamlanabilir.

Ön koşullar

Bu yazıda, Google Cloud,AWS, veya Azure gibi bir bulut platformunda Ubuntu 16.04 LTS sanal makinesi oluşturmayı ve sanal makineyi ayarlamak için komut satırı araçlarını kullanmayı bildiğiniz varsayılmaktadır.

Küçük Resim Bağımlılarını Yükle

Ubuntu'nun önceden yüklü paketlerini güncelleyin ve yükseltin:

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

Python'ın paket yöneticisi olan pip uygulamasını yükleyin. Daha sonra pip ile Thumbor'ı yükleyeceksiniz.

sudo apt-get install -y python-pip

Thumbor'ın bağımlılıklarını yükleyin. Küçük resmin dokümanlarında bu bağımlılıklardan açıkça bahsedilmiyor ancak Thumbor bu bağımlılıklar olmadan başarılı bir şekilde yüklenmez.

# 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

Küçük Resmi Yükle

Thumbor'ı pip kullanarak yükleyin.

sudo pip install thumbor

Thumbor'ı başarıyla yüklediyseniz şu işlem işe yarayacaktır:

thumbor --help

Küçük Resmi Çalıştır

Küçük Resmi Çalıştır'ı tıklayın. Hata ayıklama günlük kaydı isteğe bağlıdır ancak ilk başladığınızda faydalı olabilir.

thumbor --log-level debug

Küçük resim artık çalışıyor.

Güvenlik Duvarı Bağlantı Noktasını Aç

Thumbor varsayılan olarak 8888 bağlantı noktasında çalışır. Sanal makinenizin IP adresi 12.123.12.122 ise Thumbor'a web tarayıcısından http://12.123.12.123:8888/.../$IMAGE adresinden erişebilirsiniz.

Ancak bulut sağlayıcıları genellikle gelen trafiği kabul etmeden önce güvenlik duvarı bağlantı noktalarını açık bir şekilde açmanızı gerektirdiğinden, bu büyük olasılıkla işinize yaramayacaktır.

8888 numaralı bağlantı noktasını ortaya çıkaracak şekilde güvenlik duvarını güncelleyin. Google Cloud, AWS ve Azure'da bu işlemi nasıl yapacağınızla ilgili daha fazla bilgiyi burada bulabilirsiniz. Google Cloud için önce sanal makinenize statik bir IP adresi atamanız ve ardından harici HTTP bağlantısına izin vermeniz gerektiğini unutmayın.

Deneyin

Küçük resim artık erişilebilir ve kullanıma hazırdır. Aşağıdaki URL'yi ziyaret ederek deneyin:

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

Bu URL'nin HTTP kullandığını unutmayın. Küçük resim, varsayılan olarak HTTP kullanır ancak HTTPS kullanacak şekilde yapılandırılabilir.

100 piksel genişliğinde ve 100 piksel yüksekliğinde bir resim görmeniz gerekir. Küçük resim, URL dizesinde belirtilen hero.jpg resmi ve boyutu alıp sonucu yayınladı. URL dizesindeki resmi değiştirebilirsiniz (ör. https://web.dev/install-thumbor/hero.jpg) diğer herhangi bir resimle (ör. https://your-site.com/cat.jpg) tıkladığınızda Küçük Kullanıcı bu resmi de yeniden boyutlandırır.

Thumbor API'nin kullanımı hakkında daha fazla bilgi için Thumbor ile resimleri optimize etme başlıklı makaleyi inceleyin. Özellikle Thumbor yapılandırma dosyası oluşturmak isteyebilirsiniz.

Ek: Systemd'i yapılandırma

Bu adımda, sanal makine yeniden başlatıldıktan sonra bile Thumbor işleminin çalışmaya devam etmesini nasıl sağlayacağınız açıklanmaktadır. Bu adım üretim siteleri için önemlidir ancak Thumbor ile oynarken isteğe bağlıdır.

Systemd, Linux işletim sistemleri için "sistem ve hizmet yöneticisi"dir. systemd, hizmetlerin (işlemlerin) ne zaman çalışacağını yapılandırmayı kolaylaştırır.

systemd uygulamasını, sanal makine başlatmada Küçük Resim uygulamasını otomatik olarak başlatacak şekilde yapılandıracaksınız. Sanal makine yeniden başlatılırsa Küçük Resim uygulaması da otomatik olarak yeniden başlatılır. Bu yöntem, Thumbor'ı başlatmak için kullanıcı müdahalesine güvenmekten çok daha güvenilirdir.

/lib/systemd/system dizinine gidin. Bu dizin systemd için hizmet dosyalarını içerir.

cd /lib/systemd/system

Süper kullanıcı olarak bir thumbor.service dosyası oluşturun.

sudo touch thumbor.service

Favori metin düzenleyicinizi kullanarak (vim ve nano Ubuntu'da önceden yüklü olarak gelir veya başka bir düzenleyici yükleyebilirsiniz), aşağıdaki yapılandırmayı thumbor.service öğesine ekleyin. Bu yapılandırma, ağ bağlantısı kullanılabilir olduğunda /usr/local/bin/thumbor (ör. Thumbor ikili dosyası) çalıştırır ve başarısız olduğunda Thumbor'ı yeniden başlatır.

[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, systemd yönetimi için kullanılan yardımcı programdır. Küçük resim aracını başlatmak için start komutunu kullanın.

sudo systemctl start thumbor.service

Ardından, Küçük Resmi "etkinleştirin". Başka bir deyişle, küçük resim başlatıldığında otomatik olarak başlatılır.

sudo systemctl enable thumbor.service

status komutunu çalıştırarak systemd uygulamasını başarıyla yapılandırdığınızı doğrulayın.

systemctl status thumbor.service

thumbor.service'i systemd kullanmak üzere başarıyla kurduysanız durum, etkin ve etkin olduğunu gösterir.

Küçük resmin durumunu gösteren Systemctl