如何將 WordPress 媒體庫連接到 Linode Block Storage

WordPress Media to Linode Storage

Linode Block Storage (儲存桶) 在 2017 年就開始測試了 ???? ???? ????,2018 年開始收費,到了 2018/10 月,最後一個機房 – 日本機房也可以配置使用了 ????。

Advertisement

Block Storage 的價格與容量:

$0.10 per GiB/month,使用 20GB 的 Block Storage 空間,一個月要花 $2 美金,這個價格與 DigitalOcean Block Storage 和 Vultr Block Storage 的價格是一樣的,價格算是划算。

DigitalOcean Block Storage

Block Storage gives developers scalable and highly-available SSD-based cloud storage to attach to Droplets. From 1GB to 16TB, priced at

https://www.digitalocean.com/products/block-storage/

.10/GB per month.

Vultr Block Storage

View details and pricing information for the most popular Vultr plans.

最小購買為 10GB 空間,最大可以到 10TB,而且一台 VPS 可以安裝 8 個 Block Storage,一個帳號最多可使用 100TB 的空間,這對一般用戶,是非常夠用了。

Block Storage 的優點:

  • 分別管理您的數據:獨立使用一個數據系統,不受到系統 VPS 影響。
  • 動態調整大小:可自由的調整儲存桶的空間大小,VPS 的使用更佳的靈活。
  • 靈活的數據遷移:Block Storage 可以輕鬆地從一台 VPS 掛載到另一台 VPS,而無需重新啟動主機。
  • 高速存儲及安全性:Block Storage 具有 3x 同步複製的高可用性,NVMe / HDD 硬體和快速網路。
如果你有一個相片或旅遊網站,需要儲存大量的相片,但又用不到很大的 CPU 及 RAM,Linode Block Storage 的方式就很適合這樣類型的網站。

就以一個 1G RAM 方案的 VPS 主機,搭建 WordPress 網站將媒體庫掛載到 Linode Block Storage 空間為例子。

在 VPS 創建 Block Storage:

在 Linode 控制台添加 (Create a new Volume) 一個 Block Storage,如下圖:

Linode Block Storage-1

給 Block Storage 一個名稱,size 為 10GB ~ 10TB 之間:

Linode Block Storage-2

添加好 Block Storage 後,你會看到如下圖所示的 Volume Attached 頁面,請將此頁面 copy 下來,該頁面顯示如何安裝 Block Storage,以及如何添加它 /etc/fstab 以便在 VPS 重新啟動後自動掛載:

Linode Block Storage-3

如果忘了這些配置指令,也沒關係,再按一次 Block Storage Volumes 的 Edit,還是可以看的到說明。

使用 SSH 指令,檢查 VPS 掛載的磁碟:

lsblk

回覆:

Linode Block Storage-5

/dev/sda 原本的 VPS 空間
/dev/sdb swap 交換空間
/dev/sdc 掛載的 Block Storage 20G 空間

依照 Volume Attached 說明頁面,開始掛載 Block Storage,格式化硬碟:

mkfs.ext4 /dev/disk/by-id/scsi-0Linode_Volume_wpstorage2

開始移動 WordPress 媒體庫到 Block Storage 空間:(開始前先將你的 VPS 做好快照)

備份 uploads 文件,更名為 uploads-old 資料夾:

mv /var/www/domain.com/htdocs/wp-content/uploads /var/www/domain.com/htdocs/wp-content/uploads-old

創建新的上傳文件夾 uploads 並設置正確的權限:

mkdir /var/www/domain.com/htdocs/wp-content/uploads
chown www-data:www-data /var/www/domain.com/htdocs/wp-content/uploads

掛載 Block Storage 空間到 /wp-content/uploads,(注意:並不是說明文檔中的 /mnt/wpstorage2):

mount /dev/disk/by-id/scsi-0Linode_Volume_wpstorage2 /var/www/domain.com/htdocs/wp-content/uploads

在 /etc/fstab 文件中添加如下配置,VPS 重啟後自動掛載 Block Storage 空間:

/dev/disk/by-id/scsi-0Linode_Volume_wpstorage2 /var/www/domain.com/htdocs/wp-content/uploads ext4 defaults,noatime 0 2

複製 uploads-old 文件到新的 uploads 資料夾:

cp -Rp /var/www/domain.com/htdocs/wp-content/uploads-old/* /var/www/domain.com/htdocs/wp-content/uploads/

請重啟 (reboot) VPS 服務器,查看是否正確加載 Block Storage 空間:

df -h

回覆:

root@localhost:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            463M     0  463M   0% /dev
tmpfs            99M  5.7M   93M   6% /run
/dev/sda         25G  2.8G   21G  12% /
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           493M     0  493M   0% /sys/fs/cgroup
/dev/sdc         20G   76M   19G   1% /var/www/domain.com/htdocs/wp-content/upload

可以看到 /dev/sdc 以正確掛載,然後可以安心刪除 uploads-old 資料夾了:

rm -RI /var/www/domain.com/htdocs/wp-content/uploads-old

之後在 WordPress 媒體庫中上傳相片,都會在儲存在 Block Storage 空間。

參考文件:

How to Use Block Storage with Your Linode

This tutorial explains how to use Linode's block storage service.

Featured Photo by Drew Beamer on Unsplash

Follow me

yungke

視咖啡如命的癮君子,沒有厲害的技術,只會小打小鬧的電腦工程師。WooWP Managed WordPress hosting 與 Kinsta 合作,推出最優惠、穩定的 GCP 主機方案,了解更多>>
yungke
Follow me

Comments

  1. Aubrey says:

    謝謝版大分享! 受益良多
    有個想法想請教,先前讀過【使用子網域儲存 WordPress Media 媒體庫】到現在http/2時代
    經過這篇拜讀後,請問還需要以子網域作為處理媒體庫增加網站優勢嗎

    • yungke says:

      看你的網站型式來分別,像我的 blog 就不需要,圖片不多。
      有的攝影師、婚紗、旅遊..之類的網站,就有需要將媒體庫分離出來,用圖床、子網域、AWS 或 Block Storage 都好。
      為什麼? 這些網站一段時間後,圖片數量都是很驚人的,每日網站備份時都會耗掉很多主機資源及時間。

Back to top