最近決定從 GatsbyJS 搬遷到自建的 WordPress,原因其實有幾個:

  1. GatsbyJS 強大,但客製化跟樣板相比 WordPress 完整生態系來說真的很少,尤其是各種需要 Trouble shooting 的部分在還沒寫文章前就已經累了。
  2. 想要好好經營 blog,作為後續紀錄。
  3. 透過 Netlify 與 Netilfy CMS 強大的驅動,可以達到免費效果,但編輯起來還是很不順手。

追根究柢還是專注在想要 “專心寫作” 這件事情身上,所以決定自建 WordPress 並且買了一個佈景主題來套用,雖說每個月有固定的花費(大概 $5 美),但相比之下整體體驗和生態系的強大支援實在是相當划算,以下是我建立的過程:

DigitalOcean

選用了最便宜的 Basic 1vCPU / 25GB SSD / 1TB transfer,以目前來說應該是很夠用,另外我是使用 marketplace 的一鍵安裝,並選用了 OpenLiteSpeed 作為 web server。

OpenLiteSpeed WordPress Hosting | DigitalOcean Marketplace 1-Click App

Region 選擇了新加坡,看了一下偶爾掉封包之外沒什麼太大問題,而且也不常發生。

接著照個下面描述連入配置服務器。

$ ssh root@use_your_droplet_ip

過程中有遇到 SSL 派發問題,看著 litespeed 文件很快的解決了。
WordPress | Images | Cloud | LiteSpeed Documentation

如果要配置 OpenLiteSpeed 需要先連入後開啟 7080 port,連入配置,另外派發憑證後還是要進去修改 SSL 路徑:

$ certbot certonly --webroot -w /var/www/html/ -d example.com -d www.example.com

基本上遇到問題是看著官方文件就可以解決了算是很清楚。

Domain

這邊需要到 DigitalOcean 的 Networking 配置 A Record 和 CNAME,另外還需要到 DNS 那邊修改 NameServer 配置 Name Server to DigitalOcean

CNAME www.yourdomain.com
A RECORD yourdomain.com

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

Theme

Breek – Minimal Masonry Theme for WordPress by EstudioPatagon | ThemeForest
覺得這個佈景主題很不錯,之前也有購買 Ghost 版本,WordPress 更加強大。
也是照著官方文件配置,這邊要注意安裝佈景主題是要把多國語言套件,像是 Polylang 先停用,不然會出現辨識網址問題。

WP memory limit

檢測時發現 memory limit 是預設的 40M,連入 server /var/www/html 修改 wp-config.php

define( 'WP_MEMORY_LIMIT', '256M' );

接著到 OpenLiteSpeed 配置頁重新啟動服務生效。
EstudioPatagon

WP plugins

  • LiteSpeed Cache 緩存
  • Ad Inserter 廣告套件
  • Code Syntax Block 代碼高亮