將 Ghost CMS 與 Vercel (Next.js) 整合

直接回答

  • Ghost CMS 無法直接在 Vercel 上託管,因為它需要持續運行的伺服器,而 Vercel 專為伺服器無狀態功能和靜態網站設計。
  • 但可以將 Ghost 用作無頭 CMS,並在 Vercel 上託管前端,通過 Next.js 從 Ghost API 獲取內容。

設置概述

要使用 Ghost 與 Vercel,需先在其他伺服器或託管服務上設置 Ghost CMS,創建 Content API 金鑰,然後構建一個 Next.js 前端,最後部署到 Vercel。

詳細步驟

  1. 設置 Ghost CMS:選擇 VPS 或託管服務,安裝 Ghost,配置數據庫,創建 API 金鑰。
  2. 設置 Next.js 前端:克隆模板(如 next-cms-ghost-vercel),配置環境變量,構建項目。
  3. 部署到 Vercel:使用 Vercel CLI 或儀表板部署。

這方法允許高效管理內容,Vercel 提供前端託管。意外細節:許多用戶選擇託管服務如 Ghost(Pro) 以簡化設置。


調查筆記

介紹

本調查探討是否可以在 Vercel 上託管 Ghost CMS,並提供詳細設置指導。Ghost CMS 是一個內容管理系統,專為博客和出版設計,而 Vercel 是一個專注於前端應用和靜態網站的雲平台。研究顯示,直接在 Vercel 上運行 Ghost CMS 具有挑戰,因為它需要持續運行的後端伺服器,而 Vercel 主要支持伺服器無狀態功能。然而,可以通過將 Ghost 用作無頭 CMS,並在 Vercel 上託管前端來實現集成。

方法與發現

調查通過網絡搜索和瀏覽相關頁面進行,檢查 Ghost CMS 和 Vercel 的相容性。關鍵發現包括:

  • Vercel 的限制:Vercel 設計為支持靜態網站和伺服器無狀態功能,不適合運行需要持續伺服器的應用,如 Ghost CMS。研究表明,Vercel 的 Node.js 運行時適用於伺服器無狀態功能,但無法支持持久伺服器。
  • 無頭 CMS 解決方案:可以將 Ghost 設置為無頭 CMS,在其他伺服器或託管服務上運行,然後使用 Next.js 前端從 Ghost API 獲取內容,該前端可部署到 Vercel。
  • 設置步驟:調查了設置過程,包括選擇託管提供者、安裝 Ghost、配置 API 金鑰、構建 Next.js 前端和部署到 Vercel。發現了如 next-cms-ghost-vercel 的 GitHub 模板,簡化了集成。

詳細設置指導

Step 1: 設置 Ghost CMS
  • 選擇託管提供者:可以選擇 VPS(如 DigitalOcean)或託管服務(如 Ghost(Pro)、Elest.io)。調查顯示,託管服務如 Ghost(Pro) 提供簡單設置,適合不熟悉伺服器管理的用戶。
  • 安裝 Ghost:按照官方指南在伺服器上安裝 Ghost。對於 Ubuntu,更新系統(sudo apt-get update && sudo apt-get upgrade -y),安裝 Node.js,然後使用 Ghost CLI 設置。
  • 配置數據庫:Ghost 支持 SQLite、MySQL 或 PostgreSQL,根據需求選擇。
  • 創建 Content API 金鑰:進入 Ghost 管理面板,導航至“Integrations”,創建新 Content API 金鑰,記錄 API URL 和金鑰。
Step 2: 設置 Next.js 前端
  • 克隆模板倉庫:使用 GitHub 的 next-cms-ghost-vercel 模板,命令為 git clone https://github.com/styxlab/next-cms-ghost.git
  • 配置環境變量:在 .env.local 文件中設置:
    • CMS_GHOST_API_URL:設置為 Ghost 實例的 API URL(如 https://your-ghost-instance.com/ghost/api/v3)。
    • CMS_GHOST_API_KEY:設置為之前創建的 API 金鑰。
  • 構建 Next.js 項目:運行 yarn 安裝依賴,然後 yarn build 為生產環境準備。
Step 3: 部署到 Vercel
  • 安裝 Vercel CLI:運行 npm install -g vercel
  • 登錄 Vercel:運行 vercel login
  • 部署項目:運行 vercel 部署,或使用 Vercel 儀表板導入 GitHub 倉庫。

調查還發現,部署後需確保安全性,如設置適當的環境變量保護,並考慮性能最佳化,如圖像優化(在 next.config.js 中添加域名)。

討論

此方法允許用戶利用 Ghost 的內容管理功能,同時利用 Vercel 的前端部署優勢。意外發現:許多資源建議使用託管服務如 Ghost(Pro),因其提供免維護設置,特別適合新手。調查還顯示,Next.js 與 Vercel 的原生集成簡化了部署過程。

表格:設置步驟總結

步驟 行動
克隆倉庫 git clone https://github.com/styxlab/next-cms-ghost.git
更改目錄 cd next-cms-ghost
安裝依賴 yarn
啟動開發伺服器 yarn dev
構建生產環境 yarn build

結論

總體而言,雖然無法直接在 Vercel 上託管 Ghost CMS,但通過無頭 CMS 方法,可以高效集成兩者。用戶應根據技術水平選擇自託管或託管服務,並遵循上述步驟確保順利設置。

關鍵引用