คุณสามารถใช้ภาพขนาดย่อเพื่อปรับขนาด บีบอัด และแปลงรูปภาพได้ตามต้องการ
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](https://web.dev/static/articles/install-thumbor/image/systemctl-displaying-sta-7d4324ce6097b.jpg?authuser=7&hl=th)