如 何 零 成 本 部 署 一 个 Ghost 网 站

Thu 27 May 2021

Ghost 是 一 个 类 似 WordPress 的 博 客 系 统 , 在 之 前 的 版 本 中 提 供 了 Rest APlI 用 于 读 取 网 站 的 内 容 , 这 样 你 就 可 以 只 把 Ghost 用 作 一 个 管 理 后 台 , 再 用 Next.js 之 类 的 框 架 使 用 这 个 API 构 建 一 个 静 态 网 站 。

要 部 署 一 个 静 态 网 站 很 简 单 , 而 且 不 用 花 钱 ,Vercel 和 Cloudflare Pages 大 概 是 目 前 最 流 行 的 选 择 。 而 部 罩 一 个 动 态 网 站 , 比 如 基 于 Node.js 的 Ghost 就 稍 微 有 些 麻 烦 , 不 仅 性 能 不 如 静 态 网 站 , 也 有 维 护 成 本 , 而 东 静 态 网 站 不 用 考 虑 安 全 问 题 , 这 也 是 为 什 么 很 多 人 选 择 静 态 网 站 的 原 因 之 一 。 我 这 里 会 介 绍 一 种 零 成 本 运 行 Ghost 的 方 法 , 会 用 到 以 下 服 务 :

s Fly.io: 类 似 Heroku 的 PaaS, 支 持 基 于 Dockerfile 部 署 服 务 , 刚 好 Ghost 有 一 个 社 区 维 护 的 Docker 镜 像 。 你 需 要 在 你 的 系 统 上 先 安 装 它 的 CLI 工 具 。 、

。 LiteStream: 用 于 实 时 备 份 和 还 原 SQLite 的 工 具 , 我 们 要 部 署 的 这 个 Ghost 网 站 将 会 使 用 SQLite 而 不 是 MySQL, 一 是 免 费 稳 定 的 MySQL 服 务 比 较 少 , 二 是 维 护 数 据 库 也 有 成 本 。LiteStream 只 需 要 一 个 兼 容 AWS S3 的 存 储 服 务 。

。 京 东 云 对 象 存 储 : 用 于 存 储 备 份 的 SQLite 文 件 , 任 何 与 AWS S3 兼 容 的 云 对 象 存 储 皆 可 , 不 过 京 东 云 提 供 了 每 月 10G 的 免 费 额

, 用 了 。

首 先 Fork egoist-bot/ghost-litestream 这 个 repo:

git cLlone git&github.com:USER_NAME/ghost-1itestream.git

然 后 修 改 里 而 的 eta/1itestream ynm1 “ 用 你 创 硕 的 京 东 五 对 豫 存 偏 人 CCC 0

京 东 云 对 象 存 储 : 用 于 存 储 备 份 的 SQLite 文 件 , 任 何 与 AWS S3 藏 宇 河 河 [ 河 孙 储 皆 可 , 不 过 京 东 云 提 供 了 每 月 10G 的 免 费 额 又 多 o

首 先 Fork egoist-bot/ghost-litestream 这 个 repo:

git cLlone git&github.com:USER_NAME/ghost-1itestream.git

然 后 修 改 里 面 的 etc/1itestream.yml, 用 你 创 建 的 京 东 云 对 象 存 储 bucket 信 息 替 换 掉 里 面 默 认 的 :

access-key-id: XXX secret-accessS-key : XXX

dbs : - path: /var/1ib/ghost/content/data/ghost .db rep1icas : - tYZPe: 53 bucket: bucket_name path: ghost endpoint: 83 .xxXX.jdcLoud-osS .com force-path-styLe: true

然 后 把 pockerfile 里 的 这 一 行 改 成 你 要 使 用 的 网 站 域 名 :

ENV url=http: //example .com

后 在 这 个 项 目 里 运 行 flyctl L1aunch 就 行 了 , 在 你 的 Flyio 后 台 可 以 春 尿 磁 奂 顶 目 在 Certificates 那 一 栏 可 以 绑 定 域 名 。 绑 定 完 成 后 打 开 你 的 网 站 , 便 可 以 看 到 默 认 的 Ghost 首 页 ,Ghost 的 后 台 贝 面 在 /ghost, 首 个 创 建 的 用 户 会 成 为 管 理 员 。

至 于 如 何 运 用 Ghost API 构 建 静 态 网 站 , 可 以 参 考 官 方 说 明 。

Category: IMG