在 VPS 上部署
如何在 VPS 上设置带有实时预览和版本控制的 LumeCMS。
使用 LumeCMS 的最佳体验是将其连接到 Lume,这样它可以为更改生成实时预览。它还可以管理 git 仓库,以便拉取和推送更改到远程仓库,并使用分支创建不同的版本。
要求
你需要一台安装了 Ubuntu 24.04 的服务器。其他 Linux 版本也可能可以工作,但目前只测试过 Ubuntu 24.04。Hetzner 或 Digital Ocean 是不错的选择,如果你需要一个每月花费不到 5 美元的廉价且快速的 VPS。
你还需要一个域名或子域名来运行 CMS。为此,在你的域名 DNS 设置中,添加一条 A
记录,指向托管服务器的 IPv4 地址。
Tip
一个好主意是使用像 cms
或 admin
这样的子域名。例如,如果你要管理的网站是 example.com
,那么 CMS 可以放在 cms.example.com
或 admin.example.com
。
设置
在 cms-deploy 仓库中,有一个脚本可以自动设置 LumeCMS。该脚本不仅安装 LumeCMS,还会:
- 安装/更新操作系统所需的软件包 (Deno, Git, Caddy 等)。
- 使用 Caddy 设置 HTTPS 服务器,并使用 ufw 配置防火墙。
- 克隆网站的 Git 仓库,并配置 LumeCMS 以推送/拉取更改。
- 使用
systemctl
创建服务,以确保 CMS 始终运行,并在发生故障时重启。 - 配置 cron 任务,以便在 CPU 使用率超过 95% 时重启服务 (参见此 Deno 问题)。
要执行此脚本,请通过 SSH 登录到服务器并运行以下命令:
curl https://lumeland.github.io/cms-deploy/install.sh > install.sh && sh install.sh
此命令将从仓库下载 install.sh
脚本并执行它。
Note
在某些时候,脚本会要求你确认一些步骤(例如安装软件包等),你必须允许。
安装过程会要求你提供一些信息:
- 仓库的 URL
- git 仓库的 SSH URL,例如
git@github.com:user/repo.git
。 - 邮箱
- 用于 git 提交和创建 SSL 证书。
- 域名
- CMS 的域名,例如
cms.example.com
。 - 用户名
- 用于登录 CMS。默认是
admin
- 密码
- 访问 CMS 的密码。
在此过程中,它将生成一个部署密钥,你必须将其添加到 GitHub:
- 当你在终端中看到密钥时,将其复制到剪贴板。
- 转到 GitHub 仓库:Settings > Deploy keys > Add deploy key
- 粘贴密钥。
- 勾选 Allow write access 选项。这是将更改推送到仓库所必需的。
- 添加密钥后,在终端中按 Enter 键继续安装。
当脚本完成后,你应该能够从浏览器访问 CMS。
Note
首次访问 CMS 可能需要更长的时间,因为站点正在构建中,并且 Deno 需要下载所有依赖项。
演示
你可以在 cms-demo.lume.land 查看演示。
- 用户名:
admin
- 密码:
demo
在演示中,你可以编辑博客内容,创建不同的版本(存储在本地 git 分支中),甚至发布主分支的更改(将 main
分支的更改推送到你的远程仓库)。
此演示的远程仓库是 cms-demo-live。