نحوه نصب CDN تصویر Thumbor

Thumbor را می توان به صورت رایگان برای تغییر اندازه، فشرده سازی و تبدیل تصاویر در صورت درخواست استفاده کرد.

کیتی همپنیوس
Katie Hempenius

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 تنظیم کرده اید، وضعیت باید فعال و فعال بودن آن را نشان دهد.

Systemctl وضعیت Thumbor را نمایش می دهد