Thumbor را می توان به صورت رایگان برای تغییر اندازه، فشرده سازی و تبدیل تصاویر در صورت درخواست استفاده کرد.
CDN های تصویر بهینه سازی پویا زیبایی شناسی و عملکرد تصاویر را آسان می کند. برخلاف اکثر CDN های تصویر، Thumbor منبع باز است و می تواند به صورت رایگان برای تغییر اندازه، فشرده سازی و تبدیل تصاویر استفاده شود. برای استفاده در تولید مناسب است. ویکیپدیا و Square هر دو از Thumbor استفاده میکنند.
این راهنما نحوه نصب Thumbor را بر روی سرور خود توضیح می دهد. پس از نصب، می توانید از Thumbor به عنوان یک API برای تبدیل تصاویر خود استفاده کنید.
مقدمه
شما Thumbor را روی ماشین مجازی که اوبونتو 16.04 را اجرا می کند نصب خواهید کرد. اوبونتو 16.04 یک تصویر بسیار رایج است و این دستورالعمل ها برای کار بر روی هر ارائه دهنده ابری در نظر گرفته شده است. ایجاد یک VM ممکن است کار بیشتری نسبت به نصب Thumbor بر روی دستگاه محلی شما به نظر برسد، اما دقایقی که برای ایجاد یک VM صرف میکنید احتمالاً ساعتها یا روزها شما را از ناامیدی در تلاش برای نصب صحیح Thumbor بر روی دستگاه محلی خود نجات میدهد. اگرچه استفاده از Thumbor آسان است، اما نصب Thumbor بسیار دشوار است، اما این دستورالعملها این فرآیند را ساده میکنند. اگر وابستگی ها به سرعت دانلود شوند، نصب را می توان در عرض 5 تا 10 دقیقه تکمیل کرد.
پیش نیازها
این پست فرض میکند که میدانید چگونه میتوانید یک Ubuntu 16.04 LTS VM را در یک پلتفرم ابری مانند Google Cloud ، AWS یا Azure ایجاد کنید و چگونه از ابزارهای خط فرمان برای راهاندازی VM استفاده کنید.
Thumbor Dependencies را نصب کنید
بسته های از قبل نصب شده اوبونتو را به روز کنید و ارتقا دهید:
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
باشد، میتوانید از مرورگر وب در http://12.123.12.123:8888/.../$IMAGE
به Thumbor دسترسی پیدا کنید.
با این حال، این احتمالاً برای شما کار نخواهد کرد (هنوز) زیرا ارائه دهندگان ابر معمولاً از شما می خواهند که به صراحت درگاه های فایروال را قبل از پذیرش ترافیک ورودی باز کنید.
فایروال را بهروزرسانی کنید تا پورت 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 پیکسل ارتفاع دارد. Thumbor تصویر hero.jpg
و اندازه مشخص شده در رشته URL را گرفته و نتیجه را ارائه کرده است. می توانید تصویر موجود در رشته URL (یعنی https://web.dev/install-thumbor/hero.jpg
) را با هر تصویر دیگری جایگزین کنید (به عنوان مثال، https://your-site.com/cat.jpg
) و Thumbor اندازه آن تصویر را نیز تغییر خواهد داد.
مقاله Optimize images with Thumbor اطلاعات بیشتری در مورد استفاده از Thumbor API دارد. به طور خاص، ممکن است علاقه مند به تنظیم یک فایل پیکربندی Thumbor باشید.
پیوست: پیکربندی Systemd
این مرحله توضیح میدهد که چگونه میتوان مطمئن شد که فرآیند Thumbor حتی پس از راهاندازی مجدد VM همچنان در حال اجرا است. این مرحله برای سایتهای تولید مهم است، اما اگر فقط با Thumbor بازی میکنید اختیاری است.
Systemd "مدیر سیستم و خدمات" برای سیستم عامل های لینوکس است. systemd
پیکربندی را هنگام اجرای سرویس ها (فرایندها) آسان می کند.
شما systemd
برای راه اندازی خودکار Thumbor در بوت VM پیکربندی خواهید کرد. اگر ماشین مجازی راه اندازی مجدد شود، فرآیند Thumbor نیز به طور خودکار راه اندازی مجدد می شود. این بسیار قابل اعتمادتر از تکیه بر مداخله کاربر برای شروع Thumbor است.
به دایرکتوری /lib/systemd/system
بروید. این دایرکتوری حاوی فایل های سرویس systemd
است.
cd /lib/systemd/system
به عنوان superuser، یک فایل thumbor.service
ایجاد کنید.
sudo touch thumbor.service
با استفاده از ویرایشگر متن مورد علاقه خود (vim و nano از قبل روی اوبونتو نصب شده اند یا می توانید ویرایشگر دیگری نصب کنید)، پیکربندی زیر را به 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
استفاده می شود. برای شروع Thumbor از دستور start
استفاده کنید.
sudo systemctl start thumbor.service
سپس، Thumbor را "فعال کنید". این بدان معنی است که Thumbor به طور خودکار در هنگام بوت شروع می شود.
sudo systemctl enable thumbor.service
با اجرای دستور status
، بررسی کنید که systemd
با موفقیت پیکربندی کرده اید.
systemctl status thumbor.service
اگر با موفقیت thumbor.service را برای استفاده از systemd
تنظیم کرده اید، وضعیت باید فعال و فعال بودن آن را نشان دهد.