كيفية تثبيت شبكة توصيل للمحتوى (CDN) لصورة Thumbor

ويمكن استخدام أداة الإبهام مجانًا لتغيير حجم الصور وضغطها وتحويلها عند الطلب.

كاتي هيمبينيوس
"كاتي هيمبينيوس"

تسهّل شبكات توصيل المحتوى (CDN) للصور تحسين جماليات صورك وأدائها ديناميكيًا. على عكس معظم شبكات توصيل الصور (CDN)، يكون برنامج Thumbor مفتوح المصدر ويمكن استخدامه مجانًا لتغيير حجم الصور وضغطها وتحويلها. إنها مناسبة للاستخدام في الإنتاج، وتستخدم Wikipedia وSquare أداة Thumbor.

يشرح هذا الدليل كيفية تثبيت Thumbor على خادمك. بعد تثبيت التطبيق، ستتمكّن من استخدام Thumbor كواجهة برمجة تطبيقات لتحويل صورك.

مقدمة

ستثبت Thumbor على جهاز افتراضي يعمل بنظام التشغيل Ubuntu 16.04. يعد Ubuntu 16.04 صورة شائعة للغاية والغرض من هذه التعليمات هو العمل مع أي مزود خدمات سحابية. قد يبدو إنشاء جهاز افتراضي (VM) أكثر جهدًا من تثبيت Thumbor على جهازك المحلي، ولكن الدقائق التي تستغرقها لإنشاء جهاز افتراضي (VM) على الأرجح ستوفّر لك ساعات أو أيامًا من الاستياء في محاولة تثبيت Thumbor بشكل صحيح على جهازك المحلي. من المعروف أن تطبيق Thumbor سهل الاستخدام، غير أنّه يصعب تثبيته، ولكن هذه التعليمات تُبسّط العملية. إذا تم تنزيل التبعيات بسرعة، يمكن أن تكتمل عملية التثبيت في غضون 5 إلى 10 دقائق.

المتطلبات الأساسية

تفترض هذه المشاركة أنّك تعرف كيفية إنشاء جهاز افتراضي (VM) Ubuntu 16.04 LTS على منصة سحابية، مثل Google Cloud أو AWS, أو Azure وكيفية استخدام أدوات سطر الأوامر لإعداد الجهاز الافتراضي.

تثبيت تبعيات أداة Thumbor

تحديث وترقية الحزم المثبتة بالفعل في Ubuntu:

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

تثبيت pip، مدير حِزم بايثون. يمكنك لاحقًا تثبيت تطبيق Thumbor باستخدام pip.

sudo apt-get install -y python-pip

ثبِّت تبعيات تطبيق Thumbor. لا تشير مستندات Thumbor إلى هذه التبعيات بشكل صريح، ولكن لن يتم تثبيت 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

تثبيت تطبيق Thumbor

تثبيت برنامج Thumbor باستخدام صورة pip.

sudo pip install thumbor

إذا تم تثبيت Thumbor بنجاح، من المفترض أن تنجح الخطوات التالية:

thumbor --help

تشغيل Thumbor

شغِّل Thumbor. إنّ تسجيل معلومات تصحيح الأخطاء هو إجراء اختياري، ولكنه يمكن أن يكون مفيدًا عند البدء.

thumbor --log-level debug

يتم الآن تشغيل Thumbor.

فتح منفذ جدار الحماية

يتم تشغيل Thumbor تلقائيًا عبر المنفذ 8888. إذا كان عنوان IP لجهازك الافتراضي هو 12.123.12.122، سيصبح بإمكانك الوصول إلى Thumbor من خلال متصفّح الويب على http://12.123.12.123:8888/.../$IMAGE.

ومع ذلك، ربما لن ينجح هذا الأمر (حتى الآن) لأن مقدمي خدمات السحابة الإلكترونية يطلبون عادةً فتح منافذ جدار الحماية بشكل صريح قبل قبول حركة المرور الواردة.

تحديث جدار الحماية لإظهار المنفذ 8888. وفي ما يلي مزيد من المعلومات حول كيفية إجراء ذلك لخدمة: Google Cloud وAWS وAzure. يُرجى العلم أنّه بالنسبة إلى Google Cloud، عليك أولاً تخصيص عنوان IP ثابت لجهازك الافتراضي، ثم السماح باتصال HTTP خارجي.

التجربة الآن

يمكن الآن الوصول إلى تطبيق Thumbor، وهو جاهز للاستخدام. جربه من خلال الانتقال إلى عنوان URL التالي:

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

لاحظ أن عنوان URL هذا يستخدم HTTP. يستخدم Thumbor بروتوكول HTTP بشكل تلقائي ولكن يمكن ضبطه لاستخدام بروتوكول HTTPS.

من المفترض أن تظهر صورة بعرض 100 بكسل × 100 بكسل. أخذت أداة الإبهام الصورة hero.jpg والحجم المحدّدَين في سلسلة عنوان URL وعرض النتيجة. يمكنك استبدال الصورة في سلسلة عنوان URL (أي https://web.dev/install-thumbor/hero.jpg) مع أي صورة أخرى (على سبيل المثال، https://your-site.com/cat.jpg) وسيغيّر تطبيق Thumbor حجم تلك الصورة أيضًا.

تحتوي مقالة تحسين الصور باستخدام Thumbor على مزيد من المعلومات عن استخدام Thumbor API. وعلى وجه الخصوص، قد تكون مهتمًا بإعداد ملف إعداد Thumbor.

الملحق: ضبط النظام

توضّح هذه الخطوة كيفية التأكّد من استمرار تشغيل الجهاز الافتراضي، حتى بعد إعادة تشغيل الجهاز الافتراضي. هذه الخطوة مهمة لمواقع الإنتاج، ولكنها اختيارية إذا كنت تستخدمها في استخدام Thumbor.

النظام هو "مدير النظام والخدمة" لأنظمة تشغيل Linux. يُسهّل systemd ضبط وقت تشغيل الخدمات (العمليات).

ستضبط ميزة "systemd" لتشغيل أداة Thumbor تلقائيًا عند تشغيل الجهاز الافتراضي. وفي حال إعادة تشغيل الجهاز الافتراضي، ستتم أيضًا إعادة تشغيل عملية Thumbor تلقائيًا. هذه الطريقة أكثر موثوقية بكثير من الاعتماد على تدخل المستخدم لبدء استخدام Thumbor.

انتقِل إلى دليل /lib/systemd/system. يحتوي هذا الدليل على ملفات الخدمات لـ systemd.

cd /lib/systemd/system

بصفتك المستخدم المتميز، قم بإنشاء ملف thumbor.service.

sudo touch thumbor.service

باستخدام محرِّر النصوص المفضّل لديك (يتم تثبيت vim وnano مسبقًا على نظام التشغيل Ubuntu أو يمكنك تثبيت محرِّر آخر)، أضِف الإعدادات التالية إلى thumbor.service. سيتم تشغيل /usr/local/bin/thumbor (أي برنامج Thumbor الثنائي) عند توفُّر الاتصال بالشبكة، وستتم إعادة تشغيل Thumbor عند تعذُّر العثور عليه.

[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. استخدِم الأمر start لبدء Thumbor.

sudo systemctl start thumbor.service

بعد ذلك، "فعِّل" Thumbor. وهذا يعني أنّ تطبيق Thumbor سيبدأ تلقائيًا عند التشغيل.

sudo systemctl enable thumbor.service

تأكَّد من إعداد systemd بنجاح من خلال تشغيل الأمر status.

systemctl status thumbor.service

إذا ضبطت بنجاح Indexingor.service لاستخدام systemd، من المفترض أن توضّح الحالة أنّ الخدمة مفعّلة ونشطة.

يعرض Systemctl حالة ملف Thumbor