只要使用「縮圖」,就能視需求調整圖片大小、壓縮和轉換效果。
Image CDN 可讓您輕鬆動態調整圖片美觀和效能。與大多數圖片 CDN 不同的是,Thumbor 為開放原始碼,可用於自由調整圖片大小、壓縮及轉換圖片。適合用於實際工作環境;Wikipedia 和 Square 皆使用「Thumbor」。
本指南說明如何在您自己的伺服器上安裝 Thumbor。安裝完成後,您就能使用 Thumbor 來轉換圖片。
簡介
您將在執行 Ubuntu 16.04 的 VM 上安裝 Thumbor。Ubuntu 16.04 是很常見的映像檔,這些操作說明適用於任何雲端供應商。建立 VM 的工作聽起來,可能比在本機電腦上安裝 Thumbor 更為費力,但建立 VM 的好時間可省下數小時或數天的困擾,試圖在本機電腦上正確安裝「Thumbor」。雖然 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 的說明文件並未明確提及這些依附元件,但如果沒有這些依附元件,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
使用 pip 安裝 Thumbor。
sudo pip install thumbor
如果您已成功安裝 Thumbor,應該就能正常運作:
thumbor --help
執行 Thumbor
執行 Thumbor。偵錯記錄是選擇性功能,但在您開始學習時相當實用。
thumbor --log-level debug
指標現在正在運行。
開放的防火牆通訊埠
根據預設,Thumbor 會在通訊埠 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 像素、高 100 像素的圖片。「縮圖」擷取的圖片大小為 hero.jpg
和網址字串中指定的大小,因此提供了結果。您可以將網址字串中的圖片 (例如https://web.dev/install-thumbor/hero.jpg
) 搭配任何其他圖片 (例如https://your-site.com/cat.jpg
) 和「縮圖」也會調整圖片的大小。
如要進一步瞭解如何使用 Thumbor API,請參閱「使用 Thumbor 提升圖片品質」一文。建議您視情況設定 Thumbor 設定檔。
附錄:設定 Systemd
這個步驟說明如何確保 Thumbor 程序能持續執行,即使 VM 已重新啟動也沒問題。這個步驟對於生產網站非常重要,但如果您只是單純想體驗 Thumbor,可以選擇是否這麼做。
Systemd 是 Linux 作業系統的「系統與服務管理員」。systemd
可讓您在服務 (程序) 執行時輕鬆設定。
您將在啟動 VM 時,將「systemd
」設定為自動啟動 Thumbor。如果 VM 重新啟動,「Thumbor」程序也會自動重新啟動。這比仰賴使用者來啟動 Thumbor 更為可靠。
前往 /lib/systemd/system
目錄。這個目錄包含 systemd
的服務檔案。
cd /lib/systemd/system
以超級使用者的身分建立 thumbor.service
檔案。
sudo touch thumbor.service
使用您最愛的文字編輯器 (已預先安裝在 Ubuntu 或 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
,status 應會顯示已啟用且已啟用。