前言 #
我是一个静态博客与 Serverless 支持者,自己的个人博客与一些知识库项目也都是通过 hugo 生成并托管在 GitHub Pages 上的。这种方式很方便进行版本管理与部署维护,但对于非技术的人来说,通过命令行 git 操作的方式也有些过于 geek,牵扯到多人协作等场景也不太方便。
上周有个前同事(非技术)让我帮忙搭建一个门户网站,主要展示一下公司信息、发布一些资讯、专题、工具等,出于易用性等考虑,也刚好看到 Ghost 官方发布了 5.0 版本,支持了很多强大的功能,如邮件订阅、数据分析等,且可以自部署,所以考虑了这个方案,下文记录一下安装与部署流程。
Ghost 5.0 #
Ghost 是一个非常老派的博客工具,自 2013 年原型发布以来已经经过了 9 年的发展完善,于最近刚推出 5.0 版本,很适合个人、独立发布平台等。5.0 版本中,有以下特性更新:
- 支持更强大的订阅功能,如订阅分级等
- 支持多个邮件订阅,修改设计更加方便
- 支持发布优惠活动,也有更强大的用户分析面板
- 原生支持视频、博客、GIF、电商产品、NFT 等
- 发布更多新主题
- 优化性能 20%+
- …
Ghost 官方支持多种部署方式,如 Ghost(Pro) 托管、Docker 镜像、服务器安装等,而因为 Ghost 生成环境依赖 Ubuntu,Node,MySQL 等环境,如果需要自己单独搭建会比较麻烦,且维护成本也较高。经过一番调研,根据官方文档的安装说明,Digital Ocean 是 Ghost 的官方云托管合作伙伴,提供了一键部署安装的方式,简单便捷。
安装部署说明 #
域名购买 #
作为一个对外发布的网站,我们需要购买一个域名并配置解析,指向我们网站所在的服务器,才能让外界以比较方便的方式访问。域名购买平台很多,我用过的有 Cloudflare、NameSilo、GoDaddy 等,我最后常用的还是 Cloudflare,因为其同时还提供了 CDN、网站数据分析、定制规则等强大功能。
首先我们需要注册一个 Cloudflare 账户,完成并登录后,选择左侧边栏的“注册域”,并搜索自己想注册的域名。
选择了心仪的域名后,点击并选择购买时限并填写个人信息。
选择付款方式,建议可以选择自动续订,以免忘记续费。
类型选择 Personal 即可,并点击完成购买。
等待 Cloudflare 处理后即可查看信息。
Digital Ocean ssh 配置 #
因为我们后续需要访问 Digital Ocean 的主机,我们需要先注册一个帐号,并配置我们的 ssh key,以便免密登录。
输入我们的 ssh key,点击添加即可。
一键创建 Ghost Droplet #
如上文所述,Ghost 提供了在 Digital Ocean 上一键创建 Droplet 的支持,我们可以访问安装说明文档,点击 Digital Ocean 图标进行跳转。
我们也可以在 Digital Ocean 镜像市场中搜索选择,点击右上角创建。
根据官方说明,选择 5 美元/月套餐配置已经足够,后续有更高需求也可以一键扩容(注:如先选择了高配置,无法进行降级)。
选择主机实例地区,我选择的是美国区域,可以根据需求自己选择,并选择上文操作添加到 ssh 配置,方便之后进行访问。
完成配置选择后,我们选择数量、名称并点击 Create Droplet 即可。
等待 Digital Ocean 准备主机,约几分钟就可以完成。
配置域名解析 #
因为 Ghost 需要进行 https 配置,且出于方便用户进行访问等考虑,我们需要对新创建的服务器进行 DNS 解析。
登录 Cloudflare,选择我们刚注册的域名,选择左侧 DNS 标签栏,配置 A 解析(一般需要配置 root 解析与 www 解析),其他域名托管网站操作也大同小异。
域名 SSL/TLS 配置(可选) #
如果使用 Cloudflare 进行托管,可以选择配置 SSL/TLS 加密模式为完全,可以更加保障安全性。
一键安装 Ghost 服务 #
完成域名解析后,我们可通过 Digital Ocean 控制台或其他终端工具连接到主机,进行一键安装。
Enter 后脚本会自动开始安装服务及各项依赖。
安装是命令行交互式,我们仅需要输入两个自定义配置:
- Enter your blog URL
- Enter your email(For SSL Certificate)
这两个地方输入自己的域名与邮箱,等待安装完成即可。
访问网站 #
等待脚本执行完成后,我们就可以访问 Ghost 网站了。
第一次登录会需要注册一个管理员帐号,注册完成后登录即可。
登录后即可看到非常美观的 Ghost 后台管理页面。
Ghost 提供了非常多可定制化配置选项,可以根据自己网站的需求进行调整。
总结 #
以上就是我使用 Ghost 官方推荐的 Digital Ocean 托管方式部署自己的 Ghost 网站,Ghost 升级 5.0 后已经能满足大部分网站的需求,且对商业化、数据处理有了更好的支持,对于个人博客和小团队来说都是比较好的选择,希望对大家有所帮助。