थंबर इमेज सीडीएन कैसे इंस्टॉल करें

मांग पर इमेज का साइज़ बदलने, कंप्रेस करने, और उनमें बदलाव करने के लिए, थंबनेल का इस्तेमाल मुफ़्त में किया जा सकता है.

Katie Hempenius
Katie Hempenius

इमेज सीडीएन, आपकी इमेज की खूबसूरती और परफ़ॉर्मेंस को डाइनैमिक तौर पर ऑप्टिमाइज़ करना आसान बनाते हैं. ज़्यादातर इमेज सीडीएन के उलट, Thumbor एक ओपन सोर्स है. इसे इमेज का साइज़ बदलने, कंप्रेस करने, और उनमें बदलाव करने के लिए बिना किसी शुल्क के इस्तेमाल किया जा सकता है. यह प्रोडक्शन के लिए सही है; Wikipedia और Square, दोनों में थंबनेल का इस्तेमाल किया जाता है.

इस गाइड में, अपने सर्वर पर खुद के सर्वर पर क्या थंबनेल इंस्टॉल करने का तरीका बताया गया है. इंस्टॉल करने के बाद, थंबनेल को इमेज बदलने के लिए एपीआई के तौर पर इस्तेमाल किया जा सकता है.

शुरुआती जानकारी

आप Ubuntu 16.04 पर चलने वाली वीएम पर, थंबनेल इंस्टॉल करेंगे. Ubuntu 16.04 एक बहुत ही आम इमेज है और ये निर्देश किसी भी क्लाउड सेवा देने वाली कंपनी के साथ काम करने के लिए हैं. वीएम बनाना, लोकल मशीन पर थंबनेल इंस्टॉल करने के मुकाबले आपको ज़्यादा मेहनत वाला लग सकता है. हालांकि, वीएम बनाने में लगने वाले मिनट, शायद आपके डिवाइस पर थंबनेल को इंस्टॉल करने में लगने वाले कई घंटों या कई दिनों की झंझट से बचेंगे. हालांकि, थंबनेल को इस्तेमाल करना आसान है, लेकिन इसे इंस्टॉल करना बहुत ही मुश्किल है, लेकिन ये निर्देश इस प्रोसेस को आसान बनाते हैं. अगर डिपेंडेंसी जल्दी से डाउनलोड हो जाती हैं, तो इंस्टॉल होने में 5 से 10 मिनट लग सकते हैं.

ज़रूरी शर्तें

यह पोस्ट मानती है कि आपको Google Cloud, AWS, Azure जैसे क्लाउड प्लैटफ़ॉर्म पर Ubuntu 16.04 LTS वीएम बनाना और वीएम सेट अप करने के लिए कमांड-लाइन टूल इस्तेमाल करने का तरीका पता है.

थंबर डिपेंडेंसी इंस्टॉल करें

Ubuntu के पहले से इंस्टॉल किए गए पैकेज को अपडेट और अपग्रेड करें:

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

Python के लिए पैकेज मैनेजर, pip को इंस्टॉल करें. बाद में, pip की मदद से थंबनेल इंस्टॉल किया जा सकता है.

sudo apt-get install -y python-pip

थंबर की डिपेंडेंसी इंस्टॉल करें. थंबर के दस्तावेज़ में इन डिपेंडेंसी के बारे में साफ़ तौर पर जानकारी नहीं दी गई है. हालांकि, उनके बिना थंबनेल इंस्टॉल नहीं होगा.

# 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

थंबनेल इंस्टॉल करें

पीआईपी की मदद से, थंबनेल इंस्टॉल करें.

sudo pip install thumbor

अगर आपने थंबनेल इंस्टॉल कर लिया है, तो यह तरीका काम करेगा:

thumbor --help

थंबर चलाएं

थंबर चलाएं. डीबग लॉग करना ज़रूरी नहीं है, लेकिन शुरुआत करने में इससे आपको मदद मिल सकती है.

thumbor --log-level debug

थंबर अब चल रहा है.

फ़ायरवॉल पोर्ट खोलें

डिफ़ॉल्ट रूप से, थंबनेल पोर्ट 8888 पर चलता है. अगर आपकी वर्चुअल मशीन (वीएम) का आईपी पता 12.123.12.122 है, तो आपको http://12.123.12.123:8888/.../$IMAGE पर वेब ब्राउज़र से, थंबनेल को ऐक्सेस करना होगा.

हालांकि, ऐसा हो सकता है कि यह सुविधा आपके लिए अब तक काम न करे. ऐसा इसलिए, क्योंकि क्लाउड सेवा देने वाली कंपनियां आम तौर पर यह ज़रूरी करती हैं कि आने वाले ट्रैफ़िक को स्वीकार करने से पहले, आप फ़ायरवॉल पोर्ट साफ़ तौर पर खोलें.

पोर्ट 8888 को खोलने के लिए फ़ायरवॉल को अपडेट करें. ऐसा करने के तरीके के बारे में यहां ज़्यादा जानकारी दी गई है: Google Cloud, AWS, और Azure. ध्यान दें कि Google Cloud के लिए, आपको पहले अपनी वर्चुअल मशीन के लिए स्टैटिक आईपी पता असाइन करना होगा. इसके बाद, बाहरी एचटीटीपी कनेक्शन को अनुमति देनी होगी.

इसे आज़माएँ

थंबनेल अब ऐक्सेस किया जा सकता है और इसका इस्तेमाल किया जा सकता है. इसे आज़माने के लिए, इस यूआरएल पर जाएं:

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

ध्यान दें कि यह यूआरएल एचटीटीपी का इस्तेमाल करता है. थंबनेल, डिफ़ॉल्ट रूप से एचटीटीपी का इस्तेमाल करता है. हालांकि, एचटीटीपीएस का इस्तेमाल करने के लिए, इसे कॉन्फ़िगर किया जा सकता है.

आपको 100 पिक्सल चौड़ी और 100 पिक्सल लंबी इमेज दिखनी चाहिए. थंबनेल, इमेज hero.jpg और यूआरएल स्ट्रिंग में दिए गए साइज़ को लेकर नतीजा दे चुका है. यूआरएल स्ट्रिंग में इमेज बदली जा सकती है (जैसे, https://web.dev/install-thumbor/hero.jpg) को किसी दूसरी इमेज (जैसे, https://your-site.com/cat.jpg) और थंबनेल उस इमेज का साइज़ भी बदल देंगे.

Tumbor की मदद से इमेज ऑप्टिमाइज़ करें लेख में, थंबनेल के एपीआई के इस्तेमाल के बारे में ज़्यादा जानकारी दी गई है. खास तौर पर, आपकी Tumbor कॉन्फ़िगरेशन फ़ाइल सेट अप करने में दिलचस्पी हो सकती है.

अपेंडिक्स: Systemd कॉन्फ़िगर करना

इस चरण में, यह पक्का करने का तरीका बताया गया है कि वीएम के रीस्टार्ट होने के बाद भी, क्या थंबनेल की प्रोसेस चलती रहे. प्रोडक्शन साइटों के लिए यह चरण ज़रूरी है. हालांकि, अगर आपको थंबनेल का इस्तेमाल करना है, तो यह ज़रूरी नहीं है.

Systemd "सिस्टम और सेवा मैनेजर" है के लिए ऑप्ट-इन किया जा सकता है. सेवाओं (प्रोसेस) के चलने पर, systemd को कॉन्फ़िगर करना आसान हो जाता है.

आपको systemd को इस तरह कॉन्फ़िगर करना होगा कि वीएम बूट होने पर थंबर अपने-आप चालू हो जाए. अगर वीएम को रीस्टार्ट किया जाता है, तो थंबनेल की प्रोसेस भी अपने-आप रीस्टार्ट हो जाएगी. यह, थंबनेल को शुरू करने के लिए उपयोगकर्ता के हस्तक्षेप पर निर्भर रहने से कहीं ज़्यादा भरोसेमंद होता है.

/lib/systemd/system डायरेक्ट्री पर जाएं. इस डायरेक्ट्री में systemd की सेवा फ़ाइलें हैं.

cd /lib/systemd/system

सुपर उपयोगकर्ता के तौर पर, thumbor.service फ़ाइल बनाएं.

sudo touch thumbor.service

अपने पसंदीदा टेक्स्ट एडिटर (vim और नैनो को Ubuntu पर पहले से इंस्टॉल किया जाता है या आप दूसरा एडिटर इंस्टॉल कर सकते हैं) का इस्तेमाल करके, thumbor.service में नीचे दिया गया कॉन्फ़िगरेशन जोड़ें. नेटवर्किंग उपलब्ध होने के बाद, यह कॉन्फ़िगरेशन /usr/local/bin/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

इसके बाद, "चालू करें" थंबर. इसका मतलब है कि बूट होने पर थंबनेल अपने-आप चालू हो जाएगा.

sudo systemctl enable thumbor.service

status कमांड चलाकर, पुष्टि करें कि आपने systemd को कॉन्फ़िगर कर लिया है.

systemctl status thumbor.service

अगर आपने systemd के इस्तेमाल के लिए IPvor.service को सही तरीके से सेट अप किया है, तो स्थिति से पता चलेगा कि वह चालू है और चालू है.

थंबर की स्थिति दिखाने वाला Systemctl