如何安装 Ghost Blog 和 5 美元的 Digital Ocean Droplet 服务 10 万+ 读者
这篇文章最初发表在我的博客上,我经常在那里写一些关于远程工作、编程学习以及科技女性的文章。后来,有朋友问我在哪个平台上运营我的博客,发现它在上线后的90天内就达到了10万的页面浏览量,于是我决定写这篇文章。
博客的回归
今年早些时候,我决定开通一个博客。就像世界上的其他人,他们的妈妈,他们的狗一样,我也想找个地方分享我的想法。
然而,当我真正要开始写博客时,我却不知从何入手。市面上大约有 2847 个平台可以为我的博客提供支持,我陷入了抉择的困境。我应该选择 Wordpress、一个自定义网站,还是干脆把发布工作交给 Medium?
我很快确定的唯一一件事就是我想把博客托管在自己的域名上。一开始我寻找的是无头CMS工具,但很快发现,设计一个全新的前端并不是最有效的时间利用方式。
我问了几个朋友的建议,Ghost这个名字不断出现。显然,它是一个经过精心优化的平台,拥有类似 Medium 的 UI,而且是由一位独立开发者开发的——所有这些我都很喜欢。所以我决定尝试一下,在做了一些额外的研究后,我决定使用 5 美元的 Digital Ocean Droplet 来提供服务。
三个月过去了,我的博客浏览量已经超过10万, Ghost 和 Digital Ocean 的组合完全支撑了它。我可以肯定地说,我对自己的选择很满意。
最近,几位读者联系我,寻求帮助组建同样的出版团队。这个过程相对较快,但不一定直观,所以我想把这些说明整理成一篇简单的博客文章!
PS:本博文不由任何第三方赞助。
附言:如果您更喜欢自己编写前端,我建议您使用Butter,这是我在研究过程中偶然发现的一个工具,它可以轻松集成到任何后端。由于 Butter 的文档非常详尽,我实际上只用了几分钟就将 Butter 集成到我的 Node 应用程序中,但我最终还是选择了 Ghost 前端。
幽灵高级版?
Ghost 是一个“全栈”发布平台,允许您设置博客的前端和后端。如果您需要,Ghost 还提供服务器支持,您可以通过 Ghost Premium 轻松选择。它很简单,可以快速设置,但最基本的套餐每月收费 29 美元。据我所知,Ghost Premium 的大多数其他功能在非高级版中均可使用,包括集成、代码注入和主题。主要区别在于无需设置服务器。
因此,本文假设您不想选择高级版,而是更倾向于更便宜的服务器选项,例如 5 美元的 Digital Ocean Droplet 一键安装。虽然并非完全“一键式”,但以下步骤也能让您的新博客在几分钟内启动并运行。让我们开始吧!
使用 Digital Ocean Droplet 进行 Ghost 设置
请注意,本节将逐步介绍如何为域名(例如:domain.xyz)或子域名(例如:blog.domain.xyz)设置自托管 Ghost ,但不包括子目录(例如:domain.xyz/blog)。与子目录相关的其他步骤本文将不予介绍。
设置Digital Ocean Droplet
- 设置 Ghost 的第一步是跳转到Digital Ocean 市场。搜索“Ghost”并导航到 Ghost droplet 页面。如果您已登录,也可以在平台左侧导航栏中导航到“市场”找到它。
- 点击“创建 Ghost Droplet”。这是“Digital Ocean 一键安装”的设置,它将为您创建并启动一个专属服务器!
- 在创建之前,Digital Ocean 会将您带到一个页面,您需要在其中选择 Droplet 的大小。我建议您从最低级别开始,即标准版 5 美元/月。请注意,此选项不会立即显示,因此您需要导航到左侧才能找到它。除非您已经拥有一个庞大的博客,否则我不会担心流量或服务器问题。我的 5 美元/月 Droplet 成功支撑了一篇在 Hacker News 热门文章上超过 24 小时的运行,拥有数百名活跃读者,并且完全没有出现任何故障。
- 至于其他设置条件,您可以自行决定启用,并且大多数都是可选的。您需要选择数据中心区域,该区域应最接近您预计大多数用户/读者所在的区域。我没有选择任何其他附加组件或 SSH 密钥,因为它们不是设置必需的,而且我的路由是通过 Cloudflare 完成的,它提供了我的安全层。
- 为 Droplet 命名后(名称可以随意),Digital Ocean 将需要几分钟来创建 Droplet。创建完成后,您将看到一个 IP 地址(例如:134.209.253.151)。
- 如果您在浏览器中访问该 IP,您将看到下面的 Ghost 安装页面,这意味着 Droplet 已在该 IP 地址上设置并由 Digital Ocean 托管。如果您没有看到此页面,则表示 Droplet 尚未正确设置。如果您看到此页面,则表示您已设置好 Droplet,现在可以将其连接到域名了!
连接到自定义域
- 如果您尚未为 Ghost 博客购买自定义域名,则需要先购买。请记住,此过程适用于您希望使用的全新域名(例如:blog.xyz),或为托管在其他地方的现有域名添加子域名(例如:blog.domain.xyz)。
- 首先,您需要将域名添加到 Digital Ocean 并设置您的 Digital Ocean DNS 记录。为此,请点击右侧的“添加域名”按钮。
- 在输入框中输入您的域名,然后点击“添加域名”。您将看到类似下图所示的 DNS 记录。
- 在 Digital Ocean 端设置好 DNS 记录后,您需要在外部域名设置中配置 A 记录。具体设置取决于您之前的域名设置方式,但可能在您的域名注册商(例如 Namecheap、GoDaddy 等)中找到,或者如果您已经将 DNS 重新路由到 Cloudflare 等第三方,则需要在那里更新 DNS 记录。在非 Digital Ocean 的 DNS 记录中,您需要将 A 记录指向您 Droplet 的 IP 地址,其中“名称”指的是您希望托管博客主页的域名或子域名。
例如,如果您希望 blog.domain.xyz 来存放博客,您可以为“博客”设置指向 IP 的 A 记录(例如:134.209.253.151)。
使用下面的示例作为示例,但请注意,您应该只设置**一个**或另一个。
- 在两端设置 DNS 记录后,它们可能需要一些时间才能传播。一些第三方机构表示,这可能需要长达 48 小时,但通常只需几分钟即可完成。
- DNS 记录传播完成后,您应该会在刚刚配置的域或子域中再次看到相同的 Ghost 安装页面。例如,此页面现在不仅会显示在 134.209.253.15 上,还会显示在 makerstats.com 上。如果您没有看到此页面,则可能需要检查 DNS 设置是否已正确设置并传播。
安装 Ghost
- 这三步安装过程的最后一部分是安装 Ghost 软件。为此,请返回 Digital Ocean 并打开右侧的控制台。这将在新选项卡中打开控制台,并请求登录。
- 输入您的用户名(始终为“root”),然后输入您启动 droplet 时 Digital Ocean 通过电子邮件发送给您的密码。
- 然后,终端会提示您立即更新密码。这是强制性的。它会首先提示您输入当前的 UNIX 密码(与电子邮件中的密码相同),然后添加两次新密码。如果操作正确,您应该会看到安装初始化,几秒钟后,您将看到以下屏幕。
- 按回车键开始安装,您将看到程序正在下载。
- 程序会提示您输入域名(在这种情况下,请确保它是您的实际域名或子域名,而不是 IP 地址)和电子邮件地址。电子邮件地址可以是您的任何邮箱地址,仅用于 SSL 流程。
- 如果一切操作正确,您将会看到以下内容!
- 为了确保一切设置正确,您现在可以访问您的域名或子域名,您应该会看到一个来自 Ghost 的基本博客模板(如下例所示)。请注意,如果您通过 Cloudflare 进行路由,并且遇到与路由相关的问题或过多的重定向,则可能是您的 SSL 出现了问题。我可以在“加密”选项卡中通过将 SSL 从“灵活”设置为“完全”来解决这个问题。
- 现在,如果您导航到 yourdomain.xyz/ghost 或 subdomain.domain.xyz/ghost,您应该会看到设置页面。
- 完成注册步骤后,您将进入此页面!这是您的 Ghost 门户,您可以在此进行自定义、上传内容、添加集成等操作。
恭喜!您已成功设置 Ghost。您可以随时通过您的链接 yourdomain.xyz/ghost 或 subdomain.domain.xyz/ghost 访问您的编辑平台。现在就可以开始运行您的博客了!
Ghost 入门:自定义
在您的门户中,左侧边栏有多个选项卡,可让您进一步自定义博客。下面我将针对每个选项卡介绍一些技巧。
一般的
在此选项卡中,您将输入一组非常标准的信息,包括您的出版物名称、封面、徽标(网站图标)、时区等等。别忘了更新您的社交帐户!我一开始忘了更新,结果把 Ghost 社交帐户设为默认帐户超过一周了。
另外值得注意的是,Ghost 会自动为颜色较浅的封面图片添加滤镜,以便文字清晰显示。您可以稍后在代码注入部分进行编辑。
设计
导航
导航部分非常直观,您可以设置导航栏,它显示在博客的所有页面上。您可以设置指向任何页面的链接,无论是博客内部还是外部的,但大多数人使用它来导航到标签/分类页面。
鬼魂主题
我认为 Ghost 目前的一个缺点是从设计角度来看,自定义功能有限。你可以下载整个模板,进行修改,然后重新上传。我决定放弃这种方法,而且我感觉很多学习本教程的人也会这么做。
对于那些不想编辑整个模板的人来说,您可以选择探索Ghost 主题市场。除了六个免费主题外,还有几十个付费 Ghost 主题,价格从 19 美元到 59 美元不等:
从总体上看,付费主题的成本是可以承受的,并且与 Wordpress 等其他网站上的付费主题相当,但使用 Ghost 安装要容易得多。
标签
您需要为您的文章选择标签。这些标签包括:
- 文章按以下方式分组
- 可以添加到您的导航栏
您可以添加任意数量的标签,以及唯一的 URL 和描述。例如,这是我博客的“远程工作”类别。您还可以设置元数据,即页面共享或显示在搜索结果中时显示的信息。
我个人选择为所有分类页面选择相同的背景图片。我没有单独上传,而是决定在平台的代码注入部分使用 CSS 全局设置图片。
.site-header {
background-image: -webkit-image-set(
url(https://images.unsplash.com/photo-1501769214405-5e5ee5125a02?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=998&q=80) 1x,
url(https://images.unsplash.com/photo-1501769214405-5e5ee5125a02?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=998&q=80) 2x
)}
代码注入
说到代码注入,还有其他几种方法可以自定义设计,无需直接编辑主题,只需在页眉/页脚中设置样式或添加脚本即可。以下是我选择使用代码注入的一些方法。
谷歌分析
确保在标题中添加 Google Analytics 跟踪 ID。您可以直接从 Google Analytics 复制脚本。
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-ID');
</script>
附加脚本
我还在我的 Mailchimp 模式中添加了一个脚本,我相信您可以发挥您的想象力来添加其他可能值得添加的脚本。
信任栏
我决定添加一个“信任栏”,用于展示我推荐过的地方。为此,我在标题底部(styling 和 script 标签下方)添加了一个 div。下面是一些基本的 HTML 代码,可以帮助您入门,样式也包含在下方。
<div id="trustbar">
As seen in:
<a href="https://www.producthunt.com/@stephsmith" target="_blank"><img src="https://stephsmith.io/featured/producthunt.png" class="trust-img"></a>
<a href="https://news.ycombinator.com/item?id=19163316" target="_blank"><img src="https://stephsmith.io/featured/hackernews.png" class="trust-img"></a>
<a href="https://hackernoon.com/a-year-of-sponge-3b4f48d00042" target="_blank"><img src="https://stephsmith.io/featured/hackernoon.png" class="trust-img"></a>
</div>
附加样式
<style>
/* Styling the trust bar */
.trust-img{
height: 20px;
margin: 0 5px;
}
.trust-img:hover {
height:22px;
opacity: 0.8;
}
#trustbar{
text-align: center;
padding: 20px 0;
}
/* Editing styles for description and nav bar */
.site-description
{
font-weight: 500 !important;
}
.site-nav {
font-weight: 800 !important;
text-shadow: 1px 1px rgba(0,0,0,0.3) !important;
}
/* Editing colour of bottom footer */
.site-footer {
background-color: rgb(245, 248, 251);
}
.site-footer-content, .site-footer-content a {
color: grey;
}
}
/* Editing filter over cover image */
.site-header:before{
background: rgba(0, 122, 237, 0.23);
}
</style>
页脚
我在页脚中唯一添加的内容是我的 Disqus 评论脚本。它看起来类似这样:
<!-- disqus -->
<script>
// Only inject comments if you're on a post page.
var article = $('.post-template main article');
var disqusSite = 'YOUR_ACCOUNT';
if (article.length) {
article.after('<div id="disqus_thread"></div>');
// this is the code you get from disqus
(function() {
var d = document, s = d.createElement('script');
s.src = '//' + disqusSite + '.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
}
</script>
集成
Ghost 以对开发者友好而闻名,这包括轻松访问集成。在“集成”选项卡中,您可以找到一系列集成。您可以自行探索,但我特别建议您设置与 Zapier 的集成,它可以帮助您将 Ghost 中的任何新订阅者直接“转移”到您的第三方列表(例如 MailChimp)。只需点击“配置 Zap”,您就会直接进入 Zapier 进行设置。设置完成后,您的步骤应该如下所示。
结论
就这样!希望你完成了以上每个步骤后,就能在超酷的 5 美元 Digital Ocean Droplet 上运行一个完整的 Ghost 博客应用。接下来,就看你如何为你的精美新博客添加素材了。如果任何步骤不清楚或无法正常工作,请随时给我留言——我很乐意提供帮助!
祝您写作愉快!
附言:如果您喜欢这篇文章,请在Twitter上打个招呼或考虑订阅我的每周博客。
文章来源:https://dev.to/stephsmithio/step-by-step-setting-up-ghost-with-a-digital-ocean-droplet-1nb8