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

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

Katie Hempenius
Katie Hempenius

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

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

מבוא

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

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

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

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

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

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

מתקינים את pip, את מנהל החבילות של Python. לאחר מכן תהיה לך אפשרות להתקין את 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 פועל ביציאה 8888. אם כתובת ה-IP של המכונה הווירטואלית היא 12.123.12.122, אפשר לגשת ל-Thumbor דרך דפדפן האינטרנט בכתובת http://12.123.12.123:8888/.../$IMAGE.

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

מעדכנים את חומת האש כדי לחשוף את היציאה 8888. בקישורים הבאים מוסבר איך לעשות זאת עבור: Google Cloud, AWS ו-Azure. לתשומת ליבכם: ב-Google Cloud, קודם צריך להקצות כתובת IP סטטית ל-VM ולאחר מכן להתיר חיבור HTTP חיצוני.

רוצה לנסות?

אהבתי נגיש עכשיו ומוכן לשימוש. אפשר לנסות אותה בכתובת ה-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 ישנה גם את הגודל של התמונה הזו.

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

נספח: הגדרת תצורה

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

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

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

sudo systemctl start thumbor.service

בשלב הבא, 'הפעלה' אגודל. המשמעות היא ש-Thumbor יתחיל לפעול באופן אוטומטי במהלך האתחול.

sudo systemctl enable thumbor.service

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

systemctl status thumbor.service

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

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