跳至主要内容

Ghost博客搭建教程(从零开始在Ubuntu上部署)

Ghost是一款基于Node.js开发的开源博客平台,以其简洁的界面和高效的写作体验受到广泛欢迎。本文将手把手教大家如何在Ubuntu 22.04/20.04操作系统的ECS实例上搭建Ghost博客,适合初次使用阿里云建站的用户。

一、背景信息

Ghost支持两种运行模式:开发模式(development)和生产模式(production)。初次搭建建议使用开发模式,便于调试。随着业务增长,可以通过阿里云的弹性扩展服务(如ECS实例扩容、负载均衡、弹性伸缩等)轻松应对流量增长。

阿里云官网

随着业务的扩展,您可以使用阿里云的产品平台,平滑地横向和纵向扩展服务容量,例如:

1、扩展单个ECS实例的CPU和内存规格,增强服务器的处理能力。

2、增加多台ECS实例,并利用阿里云负载均衡,在多个实例中进行负载的均衡分配。

3、利用阿里云弹性伸缩,根据业务量自动增加或减少ECS实例的数量。

4、利用阿里云对象存储OSS,存储静态网页和海量图片、视频等。

环境要求:

  • Nginx:1.9.5及以上版本
  • MySQL:8.0.x
  • Node.js:20.x(推荐)或18.x

二、准备工作

1、ECS实例配置

  • 已分配固定公网IP或绑定弹性公网IP(EIP);
  • 操作系统为Ubuntu 20.04或22.04;
  • 安全组已放行22、80、443和2368端口。

2、创建新用户(可选)

Ghost官方不建议使用root用户直接操作,因此建议创建一个新用户。

远程登录ECS实例,执行以下命令创建用户(以”test”为例):

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

具体配置类似如下所示:

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

将用户添加到”sudo”组:

usermod -a -G sudo test

切换到新用户:

su - test

三、安装Nginx

1、更新系统并安装Nginx:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y nginx

2、验证安装:

nginx -v

四、安装MySQL

1、安装MySQL:

sudo apt-get install -y mysql-server

2、验证安装:

mysql -V

3、配置MySQL:

登录MySQL:

sudo mysql

创建Ghost数据库:

CREATE DATABASE ghost_data;

设置root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

刷新权限并退出:

FLUSH PRIVILEGES;
exit

五、安装Node.js

1、下载并安装Node.js 20.x:

curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash
sudo apt-get install -y nodejs

2、验证安装:

node -v

回显信息类似如下所示:

test@iZbp1g2d4dpki2mf63b****:~$ node -v
v20.18.0

六、安装Ghost

1、(可选)更换npm镜像源以加速安装:

npm config set registry https://registry.npmmirror.com

2、安装Ghost-CLI工具:

sudo npm install ghost-cli@latest -g

当出现如下图所示时,表示已安装Ghost-CLI命令行工具:

Ghost博客搭建教程(从零开始在Ubuntu上部署)

3、创建Ghost安装目录并授权:

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

4、安装Ghost:

cd /var/www/ghost
ghost install

按提示配置博客URL、MySQL连接信息等:

参数

说明

Enter your blog URL

请输入已解析的域名,例如:http://chinaseo.site。本示例中使用公网IP作为测试,输入http://47.98.XX.XX

Enter your MySQL hostname

请输入数据库连接地址。本示例中MySQL数据库与Ghost部署在同一台实例中,直接按Enter保持默认即可。

Enter your MySQL username

请输入数据库用户名,输入root后按Enter

Enter your MySQL password :

请输入数据库密码,输入数据库密码后按Enter

说明

数据库密码为步骤三中设置的密码。

Enter your database name

输入Ghost使用的数据库名称。输入ghost_data后按Enter

说明

数据库名称为步骤三中创建的数据库,本示例为ghost_data

Ghost博客搭建教程(从零开始在Ubuntu上部署)

完成后,记下Ghost的管理员访问地址(如”http://47.98.XX.XX/ghost”)。

七、测试访问

1、前台首页:浏览器访问”http://ECS公网IP”。

Ghost博客搭建教程(从零开始在Ubuntu上部署)

2、后台管理页面:访问”http://ECS公网IP/ghost”,按提示完成初始化配置。

Ghost博客搭建教程(从零开始在Ubuntu上部署)

八、域名配置(可选)

如果已有域名,可以将其解析到ECS实例;如果还未购买域名,可以在知名域名商处(Gname、Namecheap等)现注册一个。 如果网站部署在中国内地服务器,需先完成域名备案。

此博客中的热门博文

WordPress建站中的搜索引擎优化

  WordPress 开箱即用,已准备好拥抱搜索引擎。它的特性和功能指导搜索引擎浏览帖子、页面和类别,以帮助搜索引擎抓取您的网站并收集将您的网站包含在其数据库中所需的信息。 WordPress 带有几个内置的搜索优化工具,包括使用 .htaccess 创建称为永久链接、blogrolling 和 ping 的明显静态 URL 的能力。还有许多第三方插件和黑客可用于搜索引擎优化 (SEO)。 但是,一旦您开始使用各种 WordPress 主题并自定义 WordPress 以满足您自己的需求,您可能会破坏一些有用的搜索引擎友好功能。为了保持您的 WordPress 网站对搜索引擎蜘蛛和爬虫的最佳友好性,这里有一些提示: 良好、干净的代码 确保您网站的代码有效。代码中的错误可能会阻止搜索引擎成功浏览网站。 内容讲座 搜索引擎无法 “看到” 一个网站。他们只能 “读取” 一个网站。Looks 不与搜索引擎通信。与搜索引擎“对话”的是您网站中用于解释、分享、通知、教育和咿呀学语的文字、内容、材料。确保您有高质量的 单词 内容,供搜索引擎检查和比较所有部分和部分,从而为您提供良好的“分数”。 在编写内容时要考虑到搜索者 您如何在 Internet 上找到信息?如果您正在撰写希望在 Internet 上“找到”的内容,请考虑某人会使用哪些单词和短语来查找您的信息。在写作时多次使用它们,但不要在每个句子中都使用。了解搜索引擎如何扫描您的内容、评估和分类,以便您能够帮助自己在搜索引擎中脱颖而出。 内容优先 搜索引擎进入您的网站,并且在大多数情况下会忽略样式和 CSS。它只是在站点中收集内容和信息。大多数 WordPress 主题的设计内容尽可能靠近无样式页面的顶部,使侧边栏和页脚朝向底部。很少有搜索引擎在继续之前扫描超过页面的前三分之一。确保您的 Theme (主题) 将内容放在顶部附近。 关键字、链接和标题与内容相遇 搜索引擎不会评估您的网站是否漂亮,但它们会评估单词并通过筛选器将它们放入,为某些单词和单词组合提供信用。系统会将文档中找到的单词与链接和标题中的单词进行比较。匹配越多,您的 “分数” 就越高。 链接和图像中的内容 您的网站可能没有太多文本,主要是照片和链接,但...

网站建设:网站导航的重要性

什么是网站导航,为什么它很重要?      网站导航是指网站的链接结构和层次结构。它的目的是以尽可能少的步骤引导用户到达他们想去的地方。除了用户体验之外,网站导航还有助于 搜索引擎优化 。      当搜索引擎索引网站时,它们依赖于网站的导航来了解每个页面的上下文以及它们之间的关系。令人困惑的导航对搜索引擎来说是一个危险信号,因为它表明用户体验不佳。      网站导航的主要目标是创建简化的用户体验。这对于具有许多子页面分布在多个更高级别类别页面中的大型网站尤其重要。网站导航的次要目标是搜索引擎优化。由于用户体验和 SEO 齐头并进,因此优化一个通常对另一个有利;然而,创建清晰且简化的用户体验应始终是网页设计师的首要任务 。 查看这篇文章 SEO optimization layout in website construction ,了解有关网页设计和 SEO 之间重要关系的更多信息。 ‍ 大型网站上复杂但清晰的导航菜单示例。 ‍ 在这篇文章中,我们将深入探讨对用户和 SEO 都友好的清晰网站导航的最佳实践。 ‍ 4 种网站导航类型 当您想到网站导航时,您会想到什么?大多数人会立即想到位于每个网站顶部的主导航栏。但事实上,顶部菜单只是网站导航的四种主要类型之一。让我们仔细看看每种类型。 ‍ 顶部菜单 顶部菜单或主菜单是位于每个网站顶部的主要网站导航栏。通常,徽标位于左侧并链接到主页,而导航的其余部分位于右侧。在某些情况下,主菜单位于网站的一侧;然而,大多数人希望在右上角找到它,因此就用户体验而言,这是理想的位置。 ‍ Lightmatter 具有简单且标准的顶部菜单设计。 ‍ 页脚菜单 第二种类型的网站导航是页脚菜单。一些网站有一个深入的页脚菜单,而另一些网站则保持简单,只有少数相关链接。这两种方法本质上都不是对错;最佳解决方案取决于网站的目标和复杂性。 ‍ Whole Foods 的页脚导航分为四个主要部分。 ‍ 在大多数情况下,在页脚菜单中包含指向网站上最重要页面的链接被认为是很好的做法。如果有些人无法在顶部菜单或页面内容本身中轻松找到他们要查找的内容,则会一直滚动到页脚菜单。网站的页脚菜单至少应包含指向法律页面的链接以及与网站所有者取得联系的方式。 ‍ 侧 栏 在电子商...

SEO optimization layout in website construction

 ‌The core of SEO optimization in website construction is to improve the ranking of the website in search engines, increase natural search traffic, and thus improve conversion rate and user satisfaction by optimizing the structure, content and technical details of the website to make it more in line with the search engine's algorithm and the user's search habits. ‌ The basic principle of SEO optimization is to improve the natural ranking of the website by optimizing various aspects of the website to make it more in line with the search engine's ranking rules. Search engines (such as Google, Baidu, etc.) crawl the content of the website through crawlers and then sort the web pages according to certain algorithms. The core of SEO is to improve the natural ranking of the website by optimizing various aspects of the website to make it more in line with the search engine's ranking rules. ‌ In website construction, the specific steps of SEO optimization include:      Key...