ज़रूरत पड़ने पर इमेज का साइज़ बदलने, कंप्रेस करने, और उनमें बदलाव करने के लिए, थंबनेल का इस्तेमाल बिना किसी शुल्क के किया जा सकता है.
इमेज सीडीएन, आपकी इमेज की खूबसूरती और परफ़ॉर्मेंस को डाइनैमिक तौर पर ऑप्टिमाइज़ करना आसान बनाते हैं. ज़्यादातर इमेज सीडीएन के उलट, 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 को सही तरीके से सेट अप किया है, तो स्थिति से पता चलेगा कि वह चालू है और चालू है.