כיצד להתקין CDN של תמונת Thumbor

אפשר להשתמש ב-Thumbor כדי לשנות את הגודל, הדחיסה והטרנספורמציה של תמונות על פי דרישה.

קייטי המפניוס
קייטי המפניוס

CDN של תמונות מאפשר לבצע אופטימיזציה דינמית של האסתטיקה והביצועים של התמונות. בשונה מרוב קובצי ה-CDN של התמונות, Thumbor הוא קוד פתוח וניתן להשתמש בו בחינם כדי לשנות את הגודל, הדחיסה והטרנספורמציה של תמונות. הוא מתאים לשימוש בסביבת ייצור; ב-Wikipedia וב-Square נעשה שימוש ב-Thumbor.

המדריך הזה מסביר איך להתקין את Thumbor בשרת שלכם. לאחר ההתקנה, תוכלו להשתמש ב-Thumbor בתור API כדי לשנות את התמונות שלכם.

פתיח

תתבצע התקנה של Thumbor ב-VM שפועלת בו מערכת Ubuntu 16.04. Ubuntu 16.04 היא תמונה נפוצה מאוד, וההוראות האלה מיועדות לעבודה עם כל ספק שירותי ענן. יצירת VM אולי נשמעת כמו יותר עבודה מהתקנת Thumbor במחשב המקומי שלכם, אבל הדקות שתקדישו ליצירת VM יחסוך לכם שעות או ימים של תסכול בניסיון לגרום ל-Thumbor להתקין כראוי במחשב המקומי שלכם. אמנם קל מאוד להתקין את Thumbor, אבל הוא מאוד קשה להתקין אותו, אבל ההוראות האלה מפשטות את התהליך. אם יחסי התלות יורדים במהירות, ההתקנה יכולה להסתיים תוך 5 עד 10 דקות.

דרישות מוקדמות

בפוסט הזה ההנחה היא שאתם יודעים איך ליצור מכונה וירטואלית (VM) של Ubuntu 16.04 בפלטפורמת ענן כמו Google Cloud, AWS, או Azure,ואיך להשתמש בכלי שורת הפקודה כדי להגדיר את ה-VM.

התקנת יחסי תלות של סימוני 'אהבתי'

עדכון ושדרוג של החבילות שכבר מותקנות ב-Ubuntu:

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

מתקינים את pip, מנהל החבילות של Python. לאחר מכן תתקין את לייק באמצעות pip.

sudo apt-get install -y python-pip

התקן את יחסי התלות של 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

התקנת סמל 'אהבתי'

התקנת תמונה ממוזערת באמצעות PIP.

sudo pip install thumbor

אם התקנת בהצלחה את Thumbor, זה אמור לעבוד:

thumbor --help

הפעלת 'אהבתי'

הפעלת 'אהבתי'. הרישום ביומן של ניפוי הבאגים הוא אופציונלי, אבל יכול להיות שימושי כשמתחילים.

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 סטטית ל-VM ואז להתיר חיבור HTTP חיצוני.

רוצה לנסות?

Thumbor זמין עכשיו ומוכן לשימוש. כדי לנסות, אפשר להיכנס לכתובת ה-URL הבאה:

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

חשוב לשים לב שכתובת ה-URL הזו מבוססת על HTTP. האגודל משתמש ב-HTTP כברירת מחדל, אבל ניתן להגדיר אותו לשימוש ב-HTTPS.

אמורה להופיע תמונה ברוחב של 100 פיקסלים ובגובה של 100 פיקסלים. הפריט 'אהבתי' לקח את התמונה hero.jpg ואת הגודל שצוינו במחרוזת כתובת האתר והגיש את התוצאה. אפשר להחליף את התמונה במחרוזת של כתובת ה-URL (כלומר https://web.dev/install-thumbor/hero.jpg) בכל תמונה אחרת (למשל, https://your-site.com/cat.jpg) ו-thumbsor ישנו גם את הגודל של התמונה הזו.

המאמר אופטימיזציה של תמונות באמצעות סימון 'אהבתי' כולל מידע נוסף על השימוש ב-Thumbor API. באופן ספציפי, ייתכן שתרצה להגדיר קובץ תצורה של Thumbor.

נספח: הגדרת מערכת

השלב הזה מסביר איך לוודא שתהליך Thumbor ימשיך לפעול גם אחרי שהמכונה הווירטואלית תופעל מחדש. השלב הזה חשוב לאתרי ייצור, אבל אופציונלי אם אתם רק מתנסים ב-Thumbor.

Systemd היא 'מנהל המערכת ושירות' במערכות ההפעלה Linux. בעזרת systemd קל להגדיר מתי שירותים (תהליכים) פועלים.

בחרת להגדיר את systemd כך שיפעיל באופן אוטומטי את Thumbor באתחול ה-VM. אם המכונה הווירטואלית מופעלת מחדש, גם תהליך 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 כדי להפעיל את לייק.

sudo systemctl start thumbor.service

לאחר מכן, בוחרים באפשרות 'הפעלה' של סימון 'אהבתי'. המשמעות היא ש-Thumbor יתחיל אוטומטית בהפעלה.

sudo systemctl enable thumbor.service

מריצים את הפקודה status כדי לוודא שהגדרת בהצלחה את systemd.

systemctl status thumbor.service

אם הגדרת בהצלחה אתthumbsor.service להשתמש ב-systemd, הסטטוס אמור להראות שהוא מופעל ופעיל.

Systemctl מציג את הסטטוס של Thumbor