在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。

Ghost 是一个基于 Node.js 开发的免费开源博客平台,用于简化博客的写作发布等流程。本文介绍如何在阿里云的 Ubuntu 20.04 操作系统的轻量应用服务器上部署 Ghost 博客(在其他服务器比如 ECS 也是差不多的步骤,主要是 Node.js 环境要选对)。

Ghost 搭建概述

Ghost 官方推荐的生产安装需要以下环境:

  • Ubuntu 20.04 或 Ubuntu 22.04
  • NGINX(SSL 最低版本为 1.9.5)
  • 支持的 Node.js 版本(18.x),其它版本应该多多少少有点问题
  • 至少有 1GB 内存的服务器
  • 已注册的域名

在开始之前,你应该在你的域中设置一个有效的 DNS A 记录,指向服务器的 IP 地址。必须提前完成此操作,以便可以在设置期间配置 SSL。
Ghost-installl.PNG

一:创建新用户

由于 Ghost 官方不推荐使用 root 用户直接操作,因此你需要重新创建新的用户,并为其配置权限,步骤如下:
1.远程登录服务器实例。然后执行以下命令,创建新用户。

adduser test

本步骤以创建test用户为例。

  1. 在New password:和Retype new password:提示信息中,请按照提示输入并确认用户密码,密码默认不显示,输入完成后按Enter。
  2. 在Enter the new value, or press ENTER for the default提示信息中,按Enter保持默认即可,你也可以根据实际情况填写用户相关信息。
  3. 在Is the information correct? [Y/n]提示信息中,输入Y确认信息,并按Enter,完成设置。

2.具体配置类似如下所示。

root@iZbp1g2d4dpki2mf63b****:~# adduser test
Adding user `test' ...
Adding new group `test' (1000) ...
Adding new user `test' (1000) with group `test' ...
Creating home directory `/home/test' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for test
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y

3.执行以下命令,将新创建的用户添加到组。

usermod -a -G sudo test

4.执行以下命令,切换到test用户。

su - test

二:安装 Nginx

部署 Ghost 博客,需要安装 Nginx 作为 HTTP 服务器。

1.依次执行以下命令,更新 Linux 操作系统和软件包。

sudo apt-get update
sudo apt-get upgrade -y

2.安装 Nginx。

sudo apt-get install -y nginx

3.安装完成后,你可以运行nginx -v命令,查看 Nginx 的版本信息(具体版本可能不一样,以实际为准)。

test@iZbp1g2d4dpki2mf63b****:$ nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

三:安装 MySQL

MySQL 是一种开源数据库管理系统,通常作为流行的 LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分安装。它使用关系数据库和 SQL 结构化查询语言来管理其数据。

1.执行以下命令,安装 MySQL。

sudo apt-get install -y mysql-server

2.执行mysql -V命令,查看 MySQL 版本号。回显信息类似如下所示,表示 MySQL 安装成功。

test@iZbp1g2d4dpki2mf63b****:~$ mysql -V
mysql  Ver 8.0.35-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

3.执行以下命令,连接 MySQL。

sudo mysql

3.执行以下命令,创建 Ghost 使用的数据库(本文以 ghost_data 为例)。

CREATE DATABASE ghost_data;

4.(可选)当服务器实例的操作系统为 Ubuntu 18.04/20.04/22.04 时,请执行以下命令,设置root用户密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '输入root账号密码';

5.执行以下命令,退出 MySQL。

exit;

四:安装 Node.js

Ghost 当前支持的 Node.js 版本为 18.x,其他版本暂不支持,请严格按照下面的操作执行,一条一条命令复制。

下载并导入 NodesourceGPG 密钥

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

# 创建 deb 存储库
NODE_MAJOR=18 # 支持的版本是 18.x
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

# 更新并安装
sudo apt-get update
sudo apt-get install nodejs -y

执行以下命令,查看 Node.js 版本。

node -v

回显信息类似如下所示。

test@iZbp1g2d4dpki2mf63b****:~$ node -v
v18.xx.x

五:安装 Ghost

1.安装 Ghost-CLI 命令行工具,以便快速配置 Ghost。

sudo npm install ghost-cli@latest -g

2.依次执行以下命令,创建 Ghost 安装目录并授权。

sudo mkdir -p /var/www/ghost
sudo chown test:test /var/www/ghost
sudo chmod 775 /var/www/ghost

3.依次执行以下命令,安装 Ghost。

cd /var/www/ghost
ghost install

Ghost 安装的过程中,需要配置相关参数。具体如下图所示:
02-how-to-build-a-ghost-blog-in-aliyun.png

其参数说明如下:

  • Enter your blog URL:请输入已解析的域名,例如:http://exapmle.com。本示例中使用公网 IP 作为测试,输入http://47.98.XX.XX。
  • Enter your MySQL hostname:请输入数据库连接地址。本示例中 MySQL 数据库与 Ghost 部署在同一台实例中,直接按Enter保持默认即可。
  • Enter your MySQL username:请输入数据库用户名,输入root后按Enter(数据库名称为步骤三中创建的数据库,本示例为ghost_data)。
  • Enter your MySQL password :请输入数据库密码,输入数据库密码后按Enter。
  • Enter your database name:输入 Ghost 使用的数据库名称。输入ghost_data后按Enter。

其余配置请结合实际情况及页面提示完成,完成设置后,界面下方会输出 Ghost 的管理员访问地址。例如:http://47.98.XX.XX/ghost。

测试访问 Ghost 博客

前台首页

在本地 Windows 主机或其他任一具有公网访问能力的 Windows 主机中,打开浏览器并输入服务器实例公网 IP 地址,访问 Ghost 前台首页。如果访问出现 502,请检查是否是实例内的防火墙问题,你可以关闭防火墙。
03-how-to-build-a-ghost-blog-in-aliyun.png

后台管理页面

在本地 Windows 主机或其他任一具有公网访问能力的 Windows 主机中,打开浏览器并输入ECS实例公网IP地址/ghost,访问 Ghost 后台管理页面。首次访问 Ghost 后台管理页面时,你需要根据页面提示完成 Ghost 博客的相关配置,请你以实际页面的提示信息完成配置。
04-how-to-build-a-ghost-blog-in-aliyun.png

参考:

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
存储 弹性计算 安全
阿里云第七代云服务器ECS性能、适用场景与价格参考
阿里云第七代云服务器ECS(Elastic Compute Service)作为阿里云最新一代的高性能计算产品,凭借其基于最新硬件架构和虚拟化技术的全面升级,在计算能力、存储性能、网络传输速度以及灵活性等多个方面实现了显著提升。这一代云服务器旨在为用户提供更为强大、稳定且可定制的云端基础设施服务,广泛适用于从基础的Web托管到复杂的高性能计算等多种应用场景。
|
17天前
|
弹性计算 网络安全
阿里云国际OpenAPI多接口快速管理ECS服务器教程
阿里云国际OpenAPI多接口快速管理ECS服务器教程
|
6天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
31 3
|
11天前
|
存储 弹性计算 编解码
通过阿里云的活动租赁云服务器时如何选择实例规格?选择指南参考
新手用户通过阿里云的活动租赁云服务器的时候实例规格应该怎么选?目前在阿里云的活动中,可选的云服务器类型除了轻量应用服务器之外,云服务器的主要实例规格有经济型e、通用算力型u1和计算型c7与c8y、通用型g7与g8y、内存型r7与r8y等实例,但是对于新手来说,由于是初次购买,实例规格往往不知道怎么选择了。本文为大家展示阿里云目前活动中各云服务器实例规格性能、适用场景以及选择指南参考。
|
15天前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
18天前
|
域名解析 网络协议 数据安全/隐私保护
阿里云轻量应用服务器搭建WordPress个人博客教程
阿里云轻量应用服务器搭建WordPress个人博客教程
|
22天前
|
存储 机器学习/深度学习 应用服务中间件
阿里云倚天云服务器实例:计算型c8y、通用型g8y、内存型r8y实例介绍
阿里云倚天云服务器是基于阿里云自研的倚天710 ARM架构CPU打造的高性能计算产品系列,它依托先进的第四代神龙架构,旨在为用户提供稳定可预期的超高效能体验。倚天云服务器在存储、网络性能及计算稳定性方面实现了显著提升,主要得益于其芯片级的快速路径加速技术。本文将深度解析阿里云倚天云服务器的计算型c8y、通用型g8y、内存型r8y实例,探讨其优势及适用场景,以供选择参考。
|
23天前
|
网络协议 应用服务中间件 网络安全
阿里云轻量应用服务器的使用限制
阿里云轻量应用服务器的使用限制
|
1天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置选项,包括CPU+GPU、CPU+FPGA等组合,支持高性能计算需求。本文汇总了阿里云GPU服务器的价格信息,涵盖NVIDIA A10、V100、T4、P4、P100等多款GPU卡,适用于人工智能、机器学习和深度学习等场景。详细价格表和实例规格见文内图表。
|
23天前
|
Ubuntu 应用服务中间件 开发工具
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
这篇文章是关于如何在Ubuntu 16.04系统上搭建GitLab服务器、pip源服务器(使用pypiserver和NGINX两种方式),以及apt源服务器的详细教程。
19 0
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器