אפשר להשתמש ב-אהבתי כדי לשנות את הגודל, לדחוס או לבצע טרנספורמציה של תמונות על פי דרישה.
כשמשתמשים ברשתות 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
אם הגדרתם בהצלחה את lookor.service לשימוש ב-systemd
, הסטטוס אמור להראות שהוא מופעל ופעיל.