内容中心在阿里云国际版上部署 Ghost 博客

在阿里云国际版上部署 Ghost 博客

2022-03-17 16:36:22

在今天的文章中,我将向您展示如何在阿里云平台上像专业人士一样部署 Ghost 博客。

1

如果您还没有阿里云账号,可以点击这里创建一个。如果您是新用户,您可以享受价值 300 - 1200 美元的免费试用。

什么是Ghost 博客

Ghost 是一个开源发布平台,可用于创建博客、杂志和新闻网站。它是用 JavaScript 编写的。它使用Node.js在服务器端和MySQL中执行 JavaScript 代码以进行数据库操作。

Ghost 博客与 WordPress

2

Ghost和WordPress都可用于创建博客。但是,这两个平台都有自己的优点和缺点。让我们比较一下。

1. 性能

WordPress 是用PHP编写的,而 Ghost 是用JavaScript 编写的。与 JavaScript 相比, PHP非常慢。因此,由 Ghost 提供支持的博客的加载速度将比 WordPress 快得多。

Ghost还内置了无损图片压缩、代码缩小等功能,这些功能帮助我们提高页面性能

2. 易用性

Ghost 和 WordPress 都不需要任何编程技能来创建博客。

但是与 WordPress 相比,Ghost 非常简单易用。它使您可以更轻松地在 Ghost 上创建博客。WordPress 有很多只有高级用户才能使用的功能

3. 安全

WordPress 因其受欢迎程度而成为网络中最易受攻击的网络应用程序。另一方面,Ghost 是新的,不太受欢迎。它具有许多 WordPress 所没有的内置安全功能。

例如,在 Ghost 中,您无需安装任何东西即可通过 HTTPS 为您的博客提供服务。但是 WordPress 要求您安装第三方插件来实现相同的功能。

4. 搜索引擎友好性

Ghost 具有内置的 SEO 功能。但是在 WordPress 中,我们必须安装一个 3rd 方 SEO 插件来优化我们的 SEO 网站。此外,Ghost 博客的加载速度总是比 WordPress 快。所以 Ghost 博客在搜索引擎中的排名总是更高。

5. 可扩展性

WordPress 有一个插件生态系统。WordPress 在互联网上有数以千计的插件可用。因此,如果您想扩展网站的功能,Ghost 可能不是您的正确选择

部署过程

3

这是我们部署过程的架构图。我们的博客将托管在阿里云弹性计算服务(ECS) 实例上。

Ghost 博客还需要数据库服务器。我们将使用阿里云的高可用托管 MySQL 数据库服务ApsaraDB for RDS MySQL

RDS 实例和 ECS 实例将在同一个虚拟私有云(VPC) 中。只有 ECS 实例暴露在互联网上。这意味着您只能从 ECS 访问 RDS 实例。

弹性 IP 将附加到我们的 ECS 实例。我们还为我们的博客注册了一个域名。域名将与使用阿里云 DNS 服务的弹性 IP 地址 (EIP) 相关联。如果您无法理解这些条款,请不要担心。我会详细解释一切

步骤 1:创建 VPC

VPC 代表虚拟私有云。每个 VPC 都是逻辑隔离的。每个 VPC 都有自己的 Route Table、VSwitch 等。

让我们创建一个 VPC

  • 登录阿里云控制台
  • 点击 产品
  • 单击网络部分下的虚拟计算云

4

区域是阿里云数据中心的物理位置。一个地区可能有一个或多个数据中心。它们被称为可用区

  • 从左上角选择您的地区

5

  • 单击创建 VPC

6

  • VPC 名称:ghost -blog。VPC 名称应为小写

7

将其他字段保留为默认值并转到VSwitch部分

  • 虚拟交换机名称:ghost-blog-vswitch
  • 区域:从下拉框中选择任何人
  • 目标 CIDR 块:192.168.0.0/29

8

  • 点击确定

VPC 将创建成功。VPC创建成功后,会显示VPC详情如下

9

步骤 2:创建 ECS 实例

ECS 代表Elastic Compute Cloud,这是一种阿里云服务,可在云上提供可扩展的虚拟机。ECS 实例可以调整大小,并且可以水平和垂直扩展。

假设我们的博客每天有 100 名访问者,而我们当前的 ECS 实例能够处理负载。如果我们的每日访问者从 100 增加到 200,您会怎么做?

我们必须升级我们的 ECS 实例,对吗?

好吧,现在我们有两个选择,我们可以增加 ECS 实例的容量,也可以增加 ECS 实例的数量并通过Elastic Load Balancer(或 ELB)分配流量。增加实例的大小称为垂直缩放,增加实例的数量称为水平缩放

如果我们的每日访问者从 200 减少到 100,我们可以释放不再需要的资源。所以,我们只为我们实际使用的东西付费。

让我们创建一个 ECS 实例

  • 登录阿里云控制台
  • 点击产品
  • 单击弹性计算部分下的弹性计算云

10

  • 单击实例

11

  • 从左上角选择您的地区

12

  • 单击创建实例

13

  • 计费方式:订阅
  • 地区:随机
  • vCPU:1 个 vCPU
  • 内存:1 GiB

14

  • 实例类型:ecs.t5-lc1m1.small

15

现在,我们必须为我们的 ECS 实例选择一个操作系统。我们将使用Ubuntu 18.04 LTS。Ubuntu 是世界上最流行的 Linux 发行版之一。它基于 Debian。

  • 图像类型:公共图像
  • 操作系统:Ubuntu
  • 操作系统版本:18.04 64bit
  • 启用安全增强功能。这将为我们的 ECS 实例添加额外的安全功能,例如后门检测

16

现在我们必须为我们的实例添加存储。为了降低成本,我选择了超云盘。如果您想要更高的性能,请选择 SSD 云盘。

  • 磁盘类型:超磁盘
  • 磁盘容量:20 GiB

17

单击页面右下角的下一步:网络进入下一页。

  • 对于 VPC,从下拉菜单中选择我们在步骤 1中创建的 VPC

18

我们需要一个公共 IP 地址来通过 Internet 访问我们的 ECS 实例

  • 检查分配公共 IP
  • 带宽定价: 按流量付费
  • 数据传输速率:200 Mbps

19

安全组用于设置防火墙规则。我们将使用默认安全组。

  • 启用端口 80 和 443。端口 80 用于 HTTP,端口 443 用于 HTTPS

20

单击页面右下角的下一步:系统配置进入下一页。

我们必须选择一种身份验证方法来访问我们的实例。我们可以使用 SSH 密钥对或基于密码的身份验证。为简单起见,我将使用基于密码的身份验证,尽管与基于 SSH 密钥对的身份验证相比,它的安全性较低。

  • 认证方式:密码
  • 在密码和确认密码字段中输入一个强密码。

21

  • 实例名称:ghost-blog
  • 主持人: 输入您的域名

22

现在我们准备好创建并启动我们的 ECS 实例。点击页面右下角的预览按钮。查看详细信息并完成购买。

完成购买后,ECS 实例将被创建。记下 ECS 实例的公网 IP 地址。

23

第 3 步:注册域名

当我们部署一个 ECS 实例时,我们将获得一个 IP 地址来访问它。但是,我们的最终用户要记住我们的 IP 地址并不容易。相反,我们必须为我们的博客注册一个域名。

在撰写本文时,阿里云正在为新用户提供免费的.TECH 。如果您是老用户,第一年只需0.18 美元即可获得.XYZ域名。

让我们注册一个域名

  • 登录阿里云控制台
  • 点击域名

24

  • 点击购买

25

您将被重定向到类似于下图的页面,您可以在其中为我们的博客购买域名。

  • 在搜索栏中输入您要注册的域并单击查找域按钮。

26

将显示搜索结果。从列表中选择您想要的域并单击添加到购物车

27

  • 点击立即购买,然后完成购买

28

第四步:设置阿里云DNS

  • 登录阿里云控制台
  • 点击产品
  • 如下图选择阿里云DNS

29

  • 单击我们在第 4 步中注册的域。

30

  • 点击添加记录

31

  • 记录类型:A
  • 主机:(blog.example.com将 example.com 替换为您的域名)
  • 值:ECS实例IP
  • 将其他选项保留为默认值
  • 最后,点击OK创建 DNS 记录

32

您的 DNS 记录应类似于下图。

33

第五步:创建云数据库RDS实例

云数据库 RDS 版是阿里云提供的托管关系型数据库服务。

让我们为我们的博客创建一个 RDS 实例。

  • 登录阿里云控制台
  • 点击产品
  • 单击“云数据库”部分下的 RDS版云数据库

34

  • 从左上角选择您的地区

35

  • 单击创建实例

36

  • 选择订阅选项卡
  • 区域:我们之前用于创建 VPC 和 ECS 实例的区域
  • 数据库引擎:MySQL
  • 版本:5.7
  • 版本:高可用性

37

  • 网络类型:VPC
  • 然后选择我们在步骤1中创建的VPXC和VSwitch
  • 实例类型: 1 核,I GiB
  • 存储容量:5 GiB
  • 购买期限:1 个月(或更长)
  • 勾选自动更新
  • 数量:1

38

查看详细信息。如果一切正常,继续

点击立即购买按钮购买

39

第 6 步:配置 RDS

  • 登录阿里云控制台
  • 点击产品
  • 单击ApsaraDB部分下的 Apsara for RDS 。

40

  • 点击我们在第 5 步中创建的 RDS 实例

41

现在我们将在 RDS 安全设置中将我们的 VPC 列入白名单。因此,我们的 RDS 实例只能在 VPC 内访问。

  • 点击安全

42

  • 单击配置SSL

43

将显示我们的 RDS 实例的域名。单击确定。还要记下我们实例的域名。这将是我们的 MYSQL 主机名

44

一个名为白名单设置的新选项卡将出现在安全部分。

  • 点击添加白名单组

45

  • 群名:ghostblog
  • 单击更新 ECS 实例 IP 地址。我们的 ECS 实例的私有 IP 地址将被显示

46

  • 选择实例 IP
  • 点击确定

47

现在我们的 RDS 实例已成功配置为只能从我们的 ECS 实例访问。

让我们创建一个 MySQL root 帐户。

  • 单击帐户

48

  • 点击创建主账户

49

  • 数据库帐户名称:root。这将是我们的 MySQL 用户名
  • 为密码和确认密码字段输入一个强密码。这将是我们的 MySQL 密码
  • 单击创建

50

第 7 步:连接到我们的实例

我们的 ECS 实例也是一台位于阿里云数据中心的计算机。它没有图形用户界面(如果需要,您可以安装 GUI,部署我们的 ghost 博客不需要它)。

我们可以通过两种方式连接到我们的 ECS 实例。第一个是VNC,另一个是SSH。

F VNC 与 SSH

VNC 代表虚拟网络计算,SSH 代表安全外壳。两者都用于连接阿里云 ECS 等虚拟服务器。VNC

VNC 需要高速互联网连接,而 SSH 即使在慢速连接中也能正常工作。但是,SSH 不能用于访问 GUI。

如果您有高速互联网连接,请继续使用 VNC。或者坚持使用 SSH

通过 VNC 连接到我们的实例

  • 登录阿里云控制台
  • 点击产品
  • 单击弹性计算部分下的弹性计算云

51

  • 单击实例

52

  • 单击连接

53

将打开一个新的浏览器选项卡,并显示一个六位数的密码。

  • 记下VNC 密码。
  • 点击关闭

54

将打开一个新的 VNC 会话,如下所示。它将询问我们的 ECS 实例的用户名密码

55

以root身份输入用户名,然后输入您在步骤 2中输入的密码。

登录成功后,您将看到以下屏幕

56

现在我们已经通过 VNC 成功连接到我们的 ECS 实例。我们准备好执行命令了。

通过 SSH 连接到我们的实例

如果您使用的是基于 MacoS 或 Linux 的操作系统,请打开您的终端应用程序。如果您使用的是 Windows 10,请打开Command Prompt

我正在使用 Microsoft Windows 10 企业版

  • 在搜索栏中输入cmd并回车

57

将打开 Windows 命令提示符。

  • 键入ssh

如果您得到以下输出,您就可以进行下一步了。

58

让我们连接到我们的实例。

键入以下命令。不要忘记将 instace-ip 替换为您实例的公共 IP 地址

ssh root@instace-ip

输入yes接受 SSH 指纹

如果登录成功,您将看到以下屏幕。

59

第 8 步:设置主机名

echo 'blog.sarathy.xyz' > /etc/hostname

echo命令用于在标准输出中显示文本。> 符号将输出重定向到/etc/hostname文件。不要忘记用您的域名替换sarathy.xyz

[终端]主机名 -F /etc/主机名[/终端]

上面的命令设置完全限定域名 (FQDN) 以匹配我们的主机名。

60

第 9 步:设置非特权用户

adduser sarathy

用您自己的用户名替换sarathy 。

为密码和确认密码字段输入一个强密码。跳过其余的问题。最后,按Y回答

61

我们已经成功添加了一个非特权用户。为了执行需要 root 权限的任务,我们必须将新创建的用户添加到sudoers组。usermod命令用于实现任务

让我们现在就开始做吧

usermod -a -G sudo sarathy

62

通过键入exit或按Ctrl+D终止当前 SSH 会话

使用新创建的用户登录我们的 ECS 实例。为此,请遵循与步骤 7完全相同的步骤。不要忘记将 root 替换为新创建的用户。

第 10 步:将系统升级到最新版本

Ubuntu 中的apt命令帮助我们安装、更新或删除软件包。

让我们更新软件包列表

sudo apt update

执行上述命令后,可以升级的包数如下所示

63

我们将把包括程序和内核在内的整个系统升级到最新版本。以下命令将执行此操作。可能需要几分钟才能完成。请耐心等待,切勿中断操作。

sudo apt dist-upgrade -y

操作完成后,我们必须重新启动实例以使用更新的内核启动。在 Linux 中,reboot命令用于重启系统。

重新启动系统。然后重新登录

第 11 步:设置默认时区

要将我们的本地时间与实例的时间相匹配,我们必须配置默认时区。

执行以下命令来设置我们的时区

dpkg-reconfigure tzdata

选择您的时区并按 Enter

输出将类似于下图

64

第 12 步:安装 Nginx

Nginx 是一个高性能的 Web 服务器,可用于提供网页服务、负载均衡等。

您可以通过键入以下命令来安装 Nginx

sudo apt install nginx -y

验证安装

nginx -v

上面的命令会显示当前安装的 Nginx 版本

65

让我们开始 Nginx

sudo systemctl start nginx

在引导期间启动 Nginx

sudo systemctl enable nginx

您将获得以下输出

66

第 13 步:安装 Nodejs

Nodejs 是 JavaScript 的运行时环境

通过键入以下命令安装 Nodejs

sudo apt install nodejs -y

验证安装

node -v

这将显示已安装的 Nodejs 版本,如下所示

67

第 14 步:安装 NPM

NPM 代表节点包管理器。npm 用于安装、升级或删除 NodeJS 包。

通过键入以下命令安装 npm

sudo apt install npm -y

验证安装

npm -v

安装的npm版本会显示如下

68

第 15 步:安装 Ghost-CLI

ghost-cli 是一个用于管理 Ghost 博客的 npm 包。我们将使用 npm 在全球范围内安装最新版本的 Ghost-CLI。通过键入安装它。,

sudo npm install ghost-cli@latest -g

安装可能需要几分钟。安装成功后进行下一步

69

第 16 步:部署我们的博客

我们已经完成了部署 Ghost 博客的基本步骤

让我们创建一个目录来保存我们博客的资源。Linux中用于创建目录的mkdir命令

sudo mkdir -p /var/www/ghost

更改目录的所有权。用您的用户名替换 sarathy。我们将使用 chown 命令更改所有权

sudo chown -R sarathy:sarathy /var/www/ghost

现在我们要修改目录的文件权限。chmod命令用于在Linux中修改文件权限

sudo chmod 775 /var/www/ghost

70

通过键入以下命令导航到安装目录。在 Linux 中,cd命令用于更改目录。pwd命令用于打印当前工作目录

cd /var/www/ghost

通过键入启动 Ghost 安装程序,

ghost install

安装程序会问几个问题。

首先,安装程序会警告我们未安装 MySQL。我们不需要在我们的 ECS 实例中安装 MySQL,因为我们使用 APsara for RDS 作为我们的 MySQL 服务器。

忽略警告并按是继续安装

71

  • 输入您的博客网址:您的博客网址
  • 输入您的 MySQL 主机名:输入我们在第 6 步中复制的 RDS 主机名
  • 输入您的 MySQL 用户名:root
  • 输入您的 MySQL 密码:输入我们在第 6 步中复制的 MySQL 密码
  • 输入您的数据库名称:blog。Ghost 安装程序将在我们的 RDS 实例中创建一个名为 blog 的数据库

然后输入您的实例的密码以授予 Ghost 安装程序的超级用户权限

72

  • 你想设置“ghost” MySQL 用户吗?:Ghost 安装程序将创建一个名为“ghost”的新 MySQL 用户
  • 你想设置 Nginx 吗?:的。Ghost 安装程序会自动为我们配置 Nginx
  • 是否要设置 SSL?:

现在 Ghost 安装程序将安装免费的 SSL 证书,提供 Let's Encrypt 并为我们的博客配置 HTTPS。系统会要求您输入电子邮件地址。Lets Encrypt证书必须每 90 天更新一次。提供有效的电子邮件地址以接收证书续订提醒。

  • 您想设置 Systemd 吗?:
  • 你想启动 Ghost 吗?:是的

安装成功后,您将收到以下消息

73

结论

在本文中,我们向您展示了如何使用 ECS、RDS、VPC 和阿里云 DNS 在阿里云上部署 Ghost 博客。安装尚未完成。我将在下一篇文章中介绍其余部分。如果迫不及待,请前往https://blog.your-domain.com/ghost完成安装。

如果您有任何问题或意见,请随时在下面的评论部分中提问。

上一篇
速度、可靠性和全球影响力:阿里云国际如何选择合适的 CDN
下一篇
87cloud案例分析:阿里云国际服务器如何支持在线教育
立即咨询 享受更轻松快捷的上云服务
联系我们
联系我们
Skype:87Cloud Alibaba
E-mail:the87cloud@outlook.com
最新活动
合作流程
解决方案
代理合作
关于我们
87Cloud Alibaba
the87cloud@outlook.com
阿里云国际
最新优惠
立即加入
电报交谈
Skype
企业邮箱
返回首页
回到顶部