如何安裝 Thumbor 映像檔 CDN

只要使用「縮圖」,就能視需求調整圖片大小、壓縮和轉換效果。

凱蒂漢佩尼斯
Katie Hempenius

Image CDN 可讓您輕鬆動態調整圖片美觀和效能。與大多數圖片 CDN 不同的是,Thumbor 為開放原始碼,可用於自由調整圖片大小、壓縮及轉換圖片。適合用於實際工作環境;WikipediaSquare 皆使用「Thumbor」。

本指南說明如何在您自己的伺服器上安裝 Thumbor。安裝完成後,您就能使用 Thumbor 來轉換圖片。

簡介

您將在執行 Ubuntu 16.04 的 VM 上安裝 Thumbor。Ubuntu 16.04 是很常見的映像檔,這些操作說明適用於任何雲端供應商。建立 VM 的工作聽起來,可能比在本機電腦上安裝 Thumbor 更為費力,但建立 VM 的好時間可省下數小時或數天的困擾,試圖在本機電腦上正確安裝「Thumbor」。雖然 Thumbor 容易使用,但安裝起來卻不易,不過按照下列指示簡化程序。如果依附元件可快速下載,安裝作業可在 5 至 10 分鐘內完成。

必備條件

本文假設您瞭解如何在 Google CloudAWS,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 CloudAWSAzure。請注意,如果是 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 設定為使用 systemdstatus 應會顯示已啟用且已啟用。

顯示「Thumbor」狀態的 Systemctl