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

news/2024/10/1 15:30:58

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。
image

一:创建新用户

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

其参数说明如下:

  • 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,请检查是否是实例内的防火墙问题,你可以关闭防火墙。

后台管理页面

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

参考:

  • 如何在阿里云服务器中搭建一个 Ghost 博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29576.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Scurm冲刺第四天

Scurm冲刺第四天 1. 站立式会议内容昨日已完成任务 今日计划完成任务首页代码设计实现 前端UI设计代码编写(收藏页面,商品详情页,个人中心页)后端用户功能模块的购物车,收藏和个人中心操作功能 后端管理员模块功能实现(登录注册功能,用户管理功能,个人中心操作)跟进前后…

【专题】2022年中国企业数字化学习行业研究报告PDF合集分享(附原数据表)

报告链接:http://tecdat.cn/?p=32263 多变,不确定性,复杂,模糊不清的新业务图景,加快了公司人才发展模式的数字化转变;疫情冲击离线运输与公司现金流量,消费者支出减少,机构表现受压,数字化学习突破;行业数字化水平不断提高,商业体系和学习体系之间的关联性不断加强…

敏捷冲刺-5月8日

敏捷冲刺-Day-03所属课程 软件工程2024作业要求 团队作业4—项目冲刺作业目标 完成第 3 篇 Scrum 冲刺博客冲刺日志集合贴 https://www.cnblogs.com/YXCS-cya/p/181788031.项目燃尽图 1.1 第三日-5月8日进度 当前进度较慢2.会议记录 2.1 会议主题 第 3 天 Scrum 冲刺-项目冲刺 …

Homework 7

1.尝试建模电梯的状态图2.学校规定:一个学生可选修多门课,一门课有若干学生选修; 一个教师可讲授多门课,一门课只有一个教师讲授; 一个学生选修一门课,仅有一个成绩。 学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。 要求:根据…

安装oh-my-zsh(命令行工具)

目录一、安装zsh、git、wget二、安装运行脚本1、curl/wget下载2、手动下载三、切换主题1、编辑配置文件2、切换主题四、安装插件1、zsh-syntax-highlighting(高亮语法错误)2、zsh-autosuggestions(自动补全)五、更多优化配置 一、安装zsh、git、wget安装oh-my-zsh的前提需要…

CH592 蓝牙透传模块

设备架构串口透传协议说明 模块通过串口和用户MCU相连,建立用户MCU 和 BLE 设备之间的双向通讯。 用户可以通过串口,使用指定的AT指令对串口波特率、BLE连接间隔,以及不同的发包间隔,模块将会有不同的数据吞吐能力。 串口默认配置为 115200bps。 模块的串口Rx一次最大可输入…

项目冲刺——第三篇Scrum冲刺博客

作业所属课程 所属课程作业要求 作业要求作业目标 总结第二天的敏捷开发,安排好第三天敏捷开发冲刺一、站立式会议 1、会议图片2、昨天已完成的内容成员 任务肖杨、梁丽贤 完成注册登陆页面设计黄诃华、欧文杰 完成用户注册登陆功能姚佳如、李慧娣 完成发布帖子模块的设计廖莹…