有了這項工具,就能視需求免費調整圖片大小、壓縮及轉換圖片。
Image CDN 可讓您輕鬆地動態調整圖片外觀和效能。與大多數圖片 CDN 不同,Thumbor 是開放原始碼,可以自由調整圖片大小、壓縮及轉換圖片。適合實際工作環境;維基百科和 Square 都使用 Thumbor。
本指南說明如何在自有伺服器上安裝 Thumbor。安裝完成後,您就能使用 Thumbor 做為 API 轉換圖片。
簡介
您將在執行 Ubuntu 16.04 的 VM 上安裝 Thumbor。Ubuntu 16.04 是很常見的映像檔,而這些指示適用於任何雲端服務供應商。建立 VM 聽起來可能比安裝本機電腦上的 Thumbor 好,但是如果嘗試讓 Thumbor 正確安裝到本機電腦,建立 VM 所需的幾分鐘或許就能省下數小時的時間。雖然 Thumbor 簡單易用,但安裝起來相當費神,但這些操作說明可以簡化安裝流程。如果快速下載依附元件,安裝作業可在 5 到 10 分鐘內完成。
必要條件
本文假設您知道如何在 Google Cloud、AWS 或 Azure 等雲端平台中建立 Ubuntu 16.04 LTS VM,以及如何使用指令列工具設定 VM。
安裝 Thumbor 依附元件
更新並升級 Ubuntu 已安裝的套件:
sudo apt-get update -y && sudo apt-get upgrade -y
安裝 pip
,這是 Python 的套件管理員。稍後您將搭配 pip
安裝 Thumbor。
sudo apt-get install -y python-pip
安裝 Thumbor 的依附元件。Thumbor 的說明文件未明確提及這些依附元件,但如果缺少這些依附元件,Tumbor 就無法成功安裝。
# 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
使用 pip 安裝 Thumbor。
sudo pip install thumbor
如果您已成功安裝 Thumbor,應該就能正常運作:
thumbor --help
執行 Thumbor
執行 Thumbor。雖然偵錯記錄並非必要,但偵錯記錄對於開始使用會很有幫助。
thumbor --log-level debug
計時器現在開始執行。
開放防火牆通訊埠
根據預設,Tumbor 會在通訊埠 8888 上執行。如果 VM 的 IP 位址為 12.123.12.122
,您可以透過網路瀏覽器前往 http://12.123.12.123:8888/.../$IMAGE
存取 Thumbor。
不過,這對您來說或許並不適合您,因為雲端服務供應商通常要求您先明確開啟防火牆通訊埠,才能接受傳入流量。
更新防火牆以公開通訊埠 8888。以下說明如何針對:Google Cloud、AWS 和 Azure 執行這項作業。請注意,就 Google Cloud 而言,您必須先將靜態 IP 位址指派給 VM,然後允許外部 HTTP 連線。
立即體驗
縮圖現已可供存取且立即使用。請前往以下網址試用:
http://YOUR_VIRTUAL_MACHINE:8888/unsafe/100x100/https://web.dev/install-thumbor/hero.jpg
請注意,這個網址使用 HTTP。Thumbor 預設會使用 HTTP,但您可以設定使用 HTTPS。
您應該會看到高度為 100 像素 x 100 像素的圖片。縮圖已擷取到網址字串指定的圖片 hero.jpg
和大小,並提供結果。您可以替換網址字串中的圖片 (即https://web.dev/install-thumbor/hero.jpg
) 搭配任何其他圖片 (例如https://your-site.com/cat.jpg
),且 Thumbor 也會調整圖片的大小。
如要進一步瞭解如何使用 Thumbor API,請參閱「使用 Thumbor 最佳化圖片」一文。建議您特別瞭解如何設定 Thumbor 設定檔。
附錄:設定 Systemd
這個步驟說明如何確保 Thumbor 程序能持續執行,即使 VM 已重新啟動也一樣。這個步驟對生產網站來說非常重要,但如果您是第一次使用 Thumbor,則可略過。
Systemd 是「系統和服務管理員」適用於 Linux 作業系統systemd
可讓您在執行服務 (程序) 時輕鬆進行設定。
您將設定「systemd
」,在 VM 開機時自動啟動 Thumbor。如果 VM 重新啟動, Thumbor 程序也會自動重新啟動。這比仰賴使用者介入動作來啟動好感官的可靠程度。
前往 /lib/systemd/system
目錄。此目錄包含 systemd
的服務檔案。
cd /lib/systemd/system
以超級使用者的身分建立 thumbor.service
檔案。
sudo touch thumbor.service
使用您慣用的文字編輯器 (Ubuntu 已預先安裝 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
的公用程式。使用 start
指令啟動 Thumbor。
sudo systemctl start thumbor.service
接著,「啟用」喜歡。這表示 Thumbor 會在啟動時自動啟動。
sudo systemctl enable thumbor.service
執行 status
指令,確認是否已成功設定 systemd
。
systemctl status thumbor.service
成功將 thumbor.service 設定成使用 systemd
後,狀態應會顯示已啟用且已啟用。