【ECS生长万物之开源】搭建Ghost博客(Ubuntu)

简介: Ghost是一个基于Node.js开发的免费开源博客平台,用于简化博客的写作发布等流程。本文介绍如何在Ubuntu 20.04操作系统的ECS实例上部署Ghost博客。

Ghost是一个基于Node.js开发的免费开源博客平台,用于简化博客的写作发布等流程。本文介绍如何在Ubuntu 20.04操作系统的ECS实例上部署Ghost博客。

背景信息

搭建Ghost博客分为开发模式(development)和生产模式(production),建议您在第一次搭建Ghost博客时使用开发模式,方便对Ghost博客调试。本文操作示例适用于初次使用阿里云进行建站的个人用户。关于Ghost博客的更多信息,请参见Getting started with Ghost

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

  • 扩展单个ECS实例的CPU和内存规格,增强服务器的处理能力。
  • 增加多台ECS实例,并利用阿里云负载均衡,在多个实例中进行负载的均衡分配。
  • 利用阿里云弹性伸缩,根据业务量自动增加或减少ECS实例的数量。
  • 利用阿里云对象存储OSS,存储静态网页和海量图片、视频等。

准备工作

使用本文的操作步骤,ECS实例必须满足以下条件:

  • 实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定EIP
  • 操作系统:Ubuntu 16.04、Ubuntu 18.04、Ubuntu 20.04、Ubuntu 22.04。

    说明
    本文所使用的系统为Ubuntu 20.04,其他版本的Ubuntu中,软件包版本可能有所差异,请以实际为准。
  • 实例安全组的入方向规则已放行22、80、443与2368端口。具体操作,请参见添加安全组规则

(可选)步骤一:创建新用户

说明 :如果您创建ECS实例已设置了ecs-user用户,请忽略该步骤,直接使用ecs-user用户执行步骤二:安装Nginx

由于Ghost官方不推荐使用root用户直接操作,因此您需要重新创建新的用户,并为其配置权限。

1.远程登录ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例

2.执行以下命令,创建新用户。本步骤以创建test用户为例。

adduser test

a.在New password:Retype new password:提示信息中,请按照提示输入并确认用户密码,密码默认不显示,输入完成后按Enter

b.在Enter the new value, or press ENTER for the default提示信息中,按Enter保持默认即可,您也可以根据实际情况填写用户相关信息。

c.在Is the information correct? [Y/n]提示信息中,输入Y确认信息,并按Enter,完成设置。

  1. 具体配置类似如下所示。
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

重要 :请确保您的ECS实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定EIP

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

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

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

2.安装Nginx。

sudo apt-get install -y nginx

安装完成后,您可以运行nginx -v命令,查看Nginx的版本信息。

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


说明 :本示例操作中安装的Nginx版本为1.18.0。软件安装包不定期更新,请您以实际安装的Nginx版本信息为准。

步骤三:安装MySQL

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

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

sudo apt-get install -y mysql-server

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

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

2.执行以下命令,连接MySQL。
Ubuntu 18.04/20.04/22.04

sudo mysql

Ubuntu 16.04

mysql -u root -p

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

CREATE DATABASE ghost_data;

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

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

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

exit

步骤四:安装Node.js

安装Ghost前,需要先安装Ghost所需的Node.js。

1.执行以下命令,下载Node.js安装源。

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash

2.执行以下命令,安装Node.js。

sudo apt-get install -y nodejs

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

node -v

回显信息类似如下所示。

test@iZbp1g2d4dpki2mf63b****:~$ node -v
v16.20.1

步骤五:安装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安装的过程中,需要配置相关参数。具体如下图所示:

参数说明如下:

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

Enter your MySQL password :请输入数据库密码,输入数据库密码后按Enter
说明 :数据库密码为步骤三中设置的密码。

Enter your database name:输入Ghost使用的数据库名称。输入ghost_data后按Enter
说明 :数据库名称为步骤三中创建的数据库,本示例为ghost_data

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

4.测试访问Ghost博客。

访问Ghost前台首页或后台管理页面的操作说明如下:

a.前台首页
在本地Windows主机或其他任一具有公网访问能力的Windows主机中,打开浏览器并输入ECS实例公网IP地址,访问Ghost前台首页。

说明 :如果访问出现502,请检查是否是实例内的防火墙问题,您可以关闭防火墙。

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

域名相关操作指引

如果您有建站需求,但还没有属于自己的域名,可以先购买域名。购买域名后,如果您的网站部署在中国内地节点服务器上,则必须先完成域名备案,再把域名解析至部署网站的ECS实例上。相关操作指引如下:

  • 购买域名
    您可以给自己的网站设定一个单独的域名。您的网站来访用户可以使用易记的域名访问您的网站,而不需要使用复杂的IP地址。
    建议登录阿里云购买域名。更多信息,请参见域名注册基本流程
  • 域名备案
    对于域名指向中国内地节点服务器上的网站,必须进行网站备案。在域名获得备案号之前,网站无法开通使用。具体操作,请参见首次备案流程ICP备案流程概述
  • 域名解析
    您需要在阿里云的云解析DNS中进行域名解析之后,网站的来访用户才能通过域名访问您的网站。具体操作,请参见新手引导
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
130 4
|
1月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
1月前
|
运维 安全 Linux
2024 主流的开源服务器面板推荐
随着云计算和虚拟专用服务器(VPS)的普及,服务器面板工具成为了企业和个人管理服务器的得力助手。一个优秀的服务器面板不仅可以简化服务器管理任务,还可以提升工作效率和安全性。本文将为您介绍并测评几款2024年全网热门的服务器面板,包括Websoft9、宝塔、cPanel、1Panel等,帮助您找到最适合自己的管理工具。
2024 主流的开源服务器面板推荐
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
490 3
|
2月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
102 4
|
2月前
|
域名解析 弹性计算 程序员
想要轻松地搭建一个即开即用的WordPress博客吗?借助宝塔面板镜像+阿里云ECS,迅速拥有自己的个人博客
拥有个人博客是每位程序员的梦想,但对服务器不熟悉的初学者而言,搭建博客颇具挑战。本文介绍利用阿里云市场的宝塔面板镜像与ECS云服务器,轻松搭建WordPress博客的方法,让您快速拥有专属博客空间。通过简单的操作步骤,即使是新手也能轻松上手,实现从零到有的博客搭建过程。
231 3
|
2月前
|
Ubuntu 应用服务中间件 开发工具
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
这篇文章是关于如何在Ubuntu 16.04系统上搭建GitLab服务器、pip源服务器(使用pypiserver和NGINX两种方式),以及apt源服务器的详细教程。
40 0
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
|
2月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
65 3
|
2月前
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
79 1
|
2月前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
112 0

热门文章

最新文章

相关产品

  • 云服务器 ECS