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

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

Katie Hempenius
Katie Hempenius

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

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

مقدمة

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

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

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

تثبيت تبعيات الإبهام

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

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

ثبِّت pip، مدير الحزم في Python. يمكنك لاحقًا تثبيت صورة الإبهام باستخدام "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 --log-level debug

رمز الإبهام قيد التشغيل الآن.

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

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

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

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

تجربة الميزة

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

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

يُرجى العِلم أنّ عنوان URL هذا يستخدم بروتوكول HTTP. يستخدم تطبيق "الإبهام" بروتوكول HTTP تلقائيًا ولكن يمكن ضبطه لاستخدام بروتوكول HTTPS.

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

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

الملحق: إعداد Systemd

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

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

سيتم ضبط إعدادات "systemd" لبدء تشغيل تطبيق 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 سوف يبدأ تلقائيًا عند التشغيل.

sudo systemctl enable thumbor.service

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

systemctl status thumbor.service

إذا اكتملت بنجاح عملية إعداد meetor.service لاستخدام systemd، يجب أن تُظهر الحالة أنّه مُفعّل ونشط.

نظام Systemctl يعرض حالة Thumbor