วิธีติดตั้ง CDN ของรูปภาพ Thumbor

คุณสามารถใช้ภาพขนาดย่อเพื่อปรับขนาด บีบอัด และแปลงรูปภาพได้ตามต้องการ

Katie Hempenius
Katie Hempenius

CDN รูปภาพช่วยให้ปรับรูปลักษณ์และประสิทธิภาพของรูปภาพแบบไดนามิกได้ง่ายขึ้น Thumbor เป็นโอเพนซอร์สซึ่งต่างจาก CDN รูปภาพส่วนใหญ่และสามารถใช้ได้ฟรีเพื่อปรับขนาด บีบอัด และเปลี่ยนรูปแบบรูปภาพ เหมาะสำหรับการใช้งานจริง Wikipedia และ Square ใช้ Thumbor

คู่มือนี้จะอธิบายวิธีติดตั้ง Thumbor บนเซิร์ฟเวอร์ของคุณเอง เมื่อติดตั้งแล้ว คุณจะสามารถใช้ Thumbor เป็น API ในการแปลงรูปภาพได้

บทนำ

คุณกำลังติดตั้ง Thumbor บน VM ที่เรียกใช้ Ubuntu 16.04 Ubuntu 16.04 เป็นอิมเมจที่พบได้ทั่วไปและคำแนะนำเหล่านี้มีไว้สำหรับผู้ให้บริการคลาวด์ทุกราย การสร้าง VM อาจฟังดูยุ่งยากมากกว่าการติดตั้ง Thumbor ลงบนเครื่องภายในของคุณ แต่การใช้เวลาสร้าง VM นานหลายชั่วโมงจะช่วยให้คุณไม่ต้องหงุดหงิดเพราะต้องติดตั้ง Thumbor ลงในเครื่องภายในระบบอย่างถูกต้องหลายชั่วโมงหรือหลายวัน แม้ว่าจะใช้งานง่าย แต่ Thumbor ติดตั้งได้ยาก แต่คำแนะนำเหล่านี้ช่วยให้ขั้นตอนนี้ง่ายขึ้น หากทรัพยากร Dependency ดาวน์โหลดได้อย่างรวดเร็ว การติดตั้งจะเสร็จสิ้นภายใน 5-10 นาที

ข้อกำหนดเบื้องต้น

โพสต์นี้จะถือว่าคุณทราบวิธีสร้าง Ubuntu 16.04 LTS VM บน Cloud Platform เช่น Google Cloud, AWS, หรือ Azure และวิธีใช้เครื่องมือบรรทัดคำสั่งเพื่อตั้งค่า VM

ติดตั้งทรัพยากร Dependency ของ Thumbor

อัปเดตและอัปเกรดแพ็กเกจที่ติดตั้งแล้วของ Ubuntu ดังนี้

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

ติดตั้ง pip ซึ่งเป็นตัวจัดการแพ็กเกจสำหรับ Python คุณจะติดตั้ง Thumbor ด้วย pip ได้ในภายหลัง

sudo apt-get install -y python-pip

ติดตั้งทรัพยากร Dependency ของ Thumbor เอกสารประกอบของ Thumbor ไม่ได้กล่าวถึงทรัพยากร Dependency เหล่านี้อย่างชัดเจน แต่ 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 ของ VM คือ 12.123.12.122 คุณจะเข้าถึง Thumbor จากเว็บเบราว์เซอร์ที่ http://12.123.12.123:8888/.../$IMAGE

อย่างไรก็ตาม วิธีนี้อาจไม่ได้ผลสำหรับคุณ (ยัง) เนื่องจากผู้ให้บริการคลาวด์มักกำหนดให้คุณต้องเปิดพอร์ตไฟร์วอลล์อย่างชัดแจ้งก่อนที่จะยอมรับการรับส่งข้อมูลขาเข้า

อัปเดตไฟร์วอลล์เพื่อแสดงพอร์ต 8888 ข้อมูลเพิ่มเติมเกี่ยวกับวิธีดําเนินการกับ Google Cloud, AWS และ Azure มีดังนี้ โปรดทราบว่าสำหรับ Google Cloud คุณจะต้องกำหนดที่อยู่ IP แบบคงที่ให้กับ VM ก่อน แล้วจึงอนุญาตการเชื่อมต่อ HTTP ภายนอก

ทดลองใช้

Thumbor พร้อมใช้งานและพร้อมใช้งานได้แล้ว ลองใช้งานโดยไปที่ URL ต่อไปนี้:

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

โปรดทราบว่า URL นี้ใช้ HTTP Thumbor ใช้ HTTP โดยค่าเริ่มต้น แต่สามารถกำหนดค่าให้ใช้ HTTPS ได้

คุณควรเห็นรูปภาพที่มีความกว้าง 100 พิกเซล x 100 พิกเซล Thumbor เลือกรูปภาพ hero.jpg และขนาดที่ระบุไว้ในสตริง URL และแสดงผลลัพธ์ คุณสามารถแทนที่รูปภาพในสตริง URL (เช่น https://web.dev/install-thumbor/hero.jpg) พร้อมรูปภาพอื่นๆ (เช่น https://your-site.com/cat.jpg) และ Thumbor จะปรับขนาดรูปภาพนั้นด้วย

บทความเพิ่มประสิทธิภาพรูปภาพด้วย Thumbor มีข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Thumbor API โดยเฉพาะอย่างยิ่ง คุณอาจสนใจตั้งค่าไฟล์การกำหนดค่า Thumbor

ภาคผนวก: การกำหนดค่า Systemd

ขั้นตอนนี้อธิบายวิธีตรวจสอบว่ากระบวนการของ Thumbor ยังคงทํางานต่อไปแม้ว่าจะรีสตาร์ท VM ไปแล้วก็ตาม ขั้นตอนนี้สำคัญสำหรับเว็บไซต์ที่ใช้งานจริง แต่คุณจะใช้หรือไม่ใช้ Thumbor ก็ได้

Systemd คือ "ระบบและผู้จัดการบริการ" สำหรับระบบปฏิบัติการ Linux systemd ช่วยให้กำหนดค่าเมื่อบริการ (กระบวนการ) ทำงานได้อย่างง่ายดาย

คุณจะกำหนดค่า systemd ให้เริ่มต้น Thumbor โดยอัตโนมัติเมื่อเปิดเครื่อง VM หาก 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 ซึ่งหมายความว่า Thumbor จะเริ่มจากการเปิดเครื่องโดยอัตโนมัติ

sudo systemctl enable thumbor.service

ยืนยันว่าคุณกำหนดค่า systemd สำเร็จแล้วโดยเรียกใช้คำสั่ง status

systemctl status thumbor.service

หากคุณตั้งค่า thumbor.service เพื่อใช้ systemd เรียบร้อยแล้ว สถานะควรแสดงว่าเปิดใช้งานอยู่และใช้งานอยู่

Systemctl แสดงสถานะของ Thumbor