布条百科 - 专业百科知识分享的网站 手机版
首页 > 百科 >

ghost使用全教程(Ghost 博客建站教程 )

353次浏览     发布时间:2024-04-17 21:40:42    

本文将讲述什么是Ghost、哪种搭建方式适合你、如何挑选服务器以及如何以最快捷的方式搭建Ghost。

前言

本文由于讲得稍微细一些所以字数较多,但实际操作起来不会超过10分钟(系统网络环境好的前提下)操作时绝大部分时候其实都是在等待安装。文章部分内容基于官方文档翻译,并总结了一些常见的坑及其解决方案。


关于 Ghost:

Ghost 是一款个人博客系统,其设计主旨是简化个人网站发布以及网上出版的过程。官方也提供开发插件的API和可以定制的Handlebars主题模板样式。

官方提供了多种搭建的方式,其中包括官方托管、第三方托管以及自托管(俗称 自建)

Ghost由John o'nolan于2013年创立,它是由前 WordPress 的一些优秀员工的创业项目。项目仍然采用 100% 开源,加上官方的收费托管的商业模式,目前已经发展成为一个非常的博客系统。

相比于Wordpress,Ghost更专注于写作!由于 Wordpress 实在是太多东西可以优化了(它的优点,同时对非专业用户也是缺点),导致有点像专门去折腾优化的而不是来写作的,所以我也从 Wordpress 换到了 Ghost。


如何选择搭建方式

不熟悉 Linux/ 纯小白

关于搭建,如果你是一个对 Linux 不太熟悉,也没什么时间再去学习代码以及网络方面知识的话。

我推荐你选择 托管,这种方式的好处就是有专业人士替你维护服务器,你只需要专注于自己的内容更新。

不少人搭建博客可能就为了图一乐,写点小文章,记录一下身边的美好。不希望花大价钱购买域名、服务器,也不希望花太多时间去维护。那么第三方托管是你最好的选择!

Ghost 官方托管价格表,点击图片跳转至 Ghost Pro 页面

唯一的缺点就是,官方托管的价格一般偏贵 最低每月$9起。但是也有很便宜的第三方托管(后面会讲),不过访问速度方面可能会不太理想。

熟悉 Linux / 热爱折腾

如果你对 Linux 有初步了解,或者就是喜欢自己折腾一下。那么我推荐你选择 自托管 ,这种方式的好处是 相对省钱 ➕ 高度自定义 。当然,在后期如果你是想要认真打造一个博客的话,在 域名和 服务器 方面的成本会稍有提升。

爱折腾的人,我推荐是使用 托管+自托管 。在自托管的机器折腾,如果不小心配置错误会导致用户无法访问,如果你刚好不会修还得花时间搜索解答,且有的 VPS 商家还不支持在面板一键重装系统。因此托管的机器最适合用来折腾,然后将最终版本在自托管服务器中上线。

面向群体及服务器选择

服务器类型: Ghost 支持 AMD和ARM!!!所以在使用 Rclone 做好数据备份的前提下,甲骨文也是可以一战的。

一个网址的面向群体决定了你 VPS线路是否需要大陆优化、域名是否需要备案(以下只是举例博主正在使用/以往使用过的机器,并没有在此为商家做出提供担保,请按需购买)

  • 如果你是面向国内的博客,请优先选择 阿里云/腾讯云 等大厂的国内机器。

优点:国内访问速度更快,无需担心被墙无法访问的情况。

缺点:域名需要走流程备案,否则无法解析。

如果懒得备案的话,可以选择 第三方商家位于香港、圣何塞、法兰克福的服务器,也可以前往其他商家购买 CN2 GIA/4837/9929 等对国内优化的线路。

  • 如果你不考虑面向国内用户,VPS 则有非常多的选择,有钱人可以直接上AWS、GCP、Azure等大厂,中规中矩的话可以选择下面价格商家。

优点:再差的机器套上Cloudflare也差不到哪里去了,并且无需备案。

缺点:鱼龙混杂,尽量选择大厂、已开设多年的商家

部署 - 托管(以PikaPods举例)

准备步骤

  • 提前购买一个域名(非必需)
  • 一张国际信用卡 / 美区PayPal

一个好的域名有利品牌推广,优秀的域名能够让客户很快的记住并找到你,创造品牌价值,吸引回头率。

开始搭建

1. 进入 PikaPods 的官网,并注册账号

2. 点击右上角 ADD PODS 创建一个新容器

3. 相关配置

在 Choose App 一栏中输入 Ghost ,Pod Name 输入你想要的名字, Pod Region服务器所在区域 随便选一个即可...都不咋样

系统会给出所需的最小配置,你可以根据自己的喜好修改(一般如果访问量不大的话无需改动),点击 绿色的 ADD POD 一键创建。

这里给出的硬盘空间是指你博客的图片、文字等占用的空间,Ghost 本体的占用不会算在里面。

注意:CPU数量、内存、硬盘大小后期都是可以随意调整的,但是创建容器后服务器区域是不可变更的!!!

更新: 9月21日,在我还在写教程的时候收到官方邮件称:由于香港地区服务器需求过低,因此下架了香港地区服务器并迁移至了洛杉矶。(但是会对亚洲地区进行优化)

4. 等待20秒左右即可完成创建,点击 齿轮⚙️ 可以进入设置面板

控制台会显示当前的运行状态以及Ghost正在运行的版本。

PikaPod 会提供一个免费且可以自定义的三级域名供你使用,如果你已经购买域名 还可以开启 Custom Domain 开关,并配置 CNAME 以达到自定义域名的效果。

创建容器时,系统会随机分配一个域名,如果不满意可以自行修改。

SFTP 开关是访问该容器时需要使用的,因为你只对这个容器有所有权,但创建容器的VPS是 PikaPod 所有的,因此并不能像平时自己购买的VPS一样使用SSH连接。因此,当你需要上传主题文件或自定义某些配置时则需要使用到 SFTP。

开启后会显示访问容器的所需的:地址、用户名、端口、密码。

你可以使用 FileZilla 等 FTP工具进行连接,并修改、上传文件。

https://filezilla-project.org/

5. 点击 OPEN POD 进入容器即可进入你的博客首页。

初始页面预览,登陆后台之后可以更换其他模版。

如果想要进入管理员后台的话只需要在域名的加上 /Ghost 即可进入后台,例如:https://你的域名/ghost

首次登陆后台需要注册管理员信息,请牢记你的注册邮箱以及密码。

更多关于优化Ghost的教程会在下一篇推出。

部署 - 自有服务器

准备步骤

  • 服务器一台,AMD 和 ARM 架构都可以。(推荐使用全新的系统环境操作,否则后续可能出现一些你不知道如何修复的迷之报错)
  • 域名一个
  • SSH工具,例如 Xshell、FinalShell 等

开始部署(以 Ubuntu 安装举例)

无需担心,无论是使用命令行还是使用Docker安装,都只需要复制粘别即可完成安装!

Ghost Blog 是一款开源的 动态博客 ,它不可以像静态博客一样使用 Vercel/Railway/Netfily 这类云平台托管,因此我们需要准备一台服务器来运行 Ghost。

官方提供的安装途径

官方文档中推荐使用 运行内存 ≥ 1G,搭载了 Ubuntu 16.04 / 18.04 / 20.04 LTS 系统的服务器上。

除了基于 Node.js 运行(本文内容),Ghost 官方还提供 基于 Docker 运行的 Ghost Blog。

需要注意的是,今后你可能还会需要对博客进行 自定义主题、自定义 RSS、为文章添加目录等优化操作

  • 如果你对 Docker以及Linux 相关命令已经了解,那么我推荐你使用 Docker 安装(毕竟两行命令就搞定了)
  • 反之,请按照下文方法安装。虽然 Docker 一键搭建确实很方便,但是如果你对 Docker 相关命令并不太了解,当你要进行上述提到的操作时可能会无从下手。此方法的好处是,可以直接通过例如 FinalShell 等软件直接添加\删除文件、使用现代化编辑器例如:VScode、Sublime 进行编辑,而不是先进入容器再使用 vim 等命令进行编辑、添加文件的操作。

服务器设置

指南的这一部分将确保满足安装Ghost-CLI的所有先决条件。

1. 更新软件包

确保软件包列表和已安装的软件包是最新的。

# 通过终端/软件连接SSH
ssh root@你的服务器ip

# 更新系统软件包
sudo apt update && apt upgrade -y

按照任何提示输入您在上一步中刚刚创建的密码。

2. 创建新用户

打开您的终端/SSH工具,并以root用户身份登录服务器:

注意:用户名使用ghost会导致与Ghost-CLI冲突,你可以使用除ghost 以外的任何名称

# 通过终端连接SSH
ssh root@你的服务器ip

# 创建一个新用户并按照提示操作创建密码,用户名需自行替换(不得使用 ghost 作为用户名)
adduser 用户名

例子:我想使用yummy作为用户名,则输入 adduser yummy,随后就会看见下面的代码。

Adding user `yummy' ...
Adding new group `yummy' (1000) ...
Adding new user `yummy' (1000) with group `yummy' ...
Creating home directory `/home/yummy' ...
Copying files from `/etc/skel' ...

# 看到这行的时候输入你希望设置的密码。(为了防偷窥,输入的密码是隐藏不可见的,输入完毕后回车即可)
New password: 

# 重新输入上一步的密码
Retype new password: 

# 看见这步则提示两次输入的密码相同,创建密码成功
passwd: password updated successfully
Changing the user information for yummy

# 这里可以无脑回车,你也可以自定义
Enter the new value, or press ENTER for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 

# 确认信息输入正确后输入 y 并按下回车
Is the information correct? [Y/n] 

为新增用户添加 sudo 权限,并将当前身份切换为该用户。

# 赋予用户 sudo 权限
usermod -aG sudo 用户名

# 切换到刚刚创建的新用户
su - 用户名

3. 安装 NGINX

Ghost 需要使用到 NGINX 服务,SSL配置需要搭载 NGINX 1.9.5 或更高版本。

# 安装 NGINX
sudo apt-get install nginx

如果系统中ufw 处于开启状态,则需要防火墙允许Nginx的 HTTP 和 HTTPS 连接。

# 打开防火墙
sudo ufw allow 'Nginx Full'

# 开启成功将得到以下回应
Rules updated
Rules updated (v6)

4. 安装 MySQL

接下来,您需要安装 MySQL 作为数据库。

# 安装 MySQL
sudo apt-get install mysql-server

MySQL 安装完成后,需要重设数据库 root 用户密码。

# 重置 MySQL root 密码
sudo mysql

# ‘mysql> ’ 字段不用复制
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
mysql> quit;

5. 安装 Node.js

注意 Ghost 仅支持Node.js 14.x、16.x 两个大版本(推荐安装Node 16.x)

# 安装 curl 工具
sudo apt install curl

# 从 NodeSource 添加 Node.js 16 下载源
curl -sL https://static1.haohuo.net/uploads/images/2196230/2196230_setup_16.x | sudo -E bash

# 安装 Node.js
sudo apt-get install -y nodejs

服务器设置已完成,下面开始安装 Ghost-CLI


安装 Ghost-CLI

Ghost-CLI是一个命令行工具,可帮助您快速轻松地安装和配置Ghost以供使用,可以使用npm或yarn安装。

# 使用 npm 安装 Ghost-CLI
sudo npm install ghost-cli@latest -g

# 安装完成后可能会看到以下提示,这是由于 npm 存在新版本可升级的提示,不是软件报错!这里可以自行选择是否需要升级。
npm notice New minor version of npm available! 8.15.0 -> 8.19.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.19.2
npm notice Run npm install -g npm@8.19.2 to update!

# 升级 npm
npm install -g npm@8.19.2

安装后,您可以随时运行ghost help以查看可用命令列表。


安装 Ghost

当完成服务器设置以及安装 Ghost-CLI,我们就可以开始安装 Ghost 本体了

1. 创建一个目录,并给予该文件夹权限

# 创建目录: 更改“站点名”为你喜欢的任何名称
sudo mkdir -p /var/www/站点名

# 设置该目录的所有者: 将用户名替换为“服务器设置”步骤中创建的用户名
# 注意区分用户名和站点名!
sudo chown 用户名:用户名 /var/www/站点名

# 设置文件夹权限
sudo chmod 775 /var/www/站点名

# 前往文件夹
cd /var/www/站点名

2. 运行安装进程

现在我们用最后一个命令行安装 Ghost。

# 开始安装 Ghost 本体
ghost install

# 检查系统环境
✔ Checking system Node.js version - found v16.17.0
✔ Checking logged in user
✔ Checking current folder permissions
✔ Checking system compatibility
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking free space
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Finishing install process

如果这一步,系统检测到任何一个未设置正确,可能是由于你的系统环境原先被修改过,这种情况需要您自行 Goole 寻求解答。

推荐使用全新安装的纯净系统进行安装。

安装配置

在安装过程中,CLI会询问一些关于站点配置的问题。

安装过程中,每个配置中的()显示的内容均为默认配置,如无需修改可直接回车。否则,请自行输入后再按下回车!

1. 博客地址

# 输入网站要绑定域名的,不可使用IP地址作为域名,会报错!!!
? Enter your blog URL: http://xxx.com 或 https://xxxx.com

给纯小白的贴士:这里不一定非要 .com 网站

如果您使用 HTTPS,Ghost-CLI 将提供为您设置 SSL。

2.MySQL 主机名

这决定了可以从何处访问MySQL数据库。

  • 当 MySQL 安装在与 Ghost 同一台服务器上时,请使用 localhost(按Enter键使用默认值)。
  • 如果MySQL安装在其他服务器上,请手动输入对应主机名。
# 输入 MySQL 数据库服务器地址、用户名、密码、数据库名称
? Enter your MySQL hostname: localhost

? Enter your Ghost database name: db_ghost
✔ Configuring Ghost
✔ Setting up instance
+ sudo chown -R ghost:ghost /var/www/ghost/content
✔ Setting up "ghost" system user

3.MySQL 用户名/ 密码

  • 如果你已经有一个 MySQL 数据库,请输入用户名。
  • 否则,请输入 root ,然后输入 root 用户的密码。
? Enter your MySQL username: root
? Enter your MySQL password: [hidden]

4.Ghost 的数据库名称

  • 如果您还没有创建过数据库,可以直接使用默认值: db_ghost ,随后系统会开始自动设置
  • 如果您在上一步中使用的是非 root 的 MySQL用户名/密码,你需要确保该数据库已经存在并且具有正确的权限。
# 输入数据库名称,这里系统会随机生成一个,直接回车即可。
? Enter your Ghost database name: db_ghost

✔ Configuring Ghost
✔ Setting up instance
+ sudo useradd --system --user-group ghost

# 输入用户密码
? Sudo Password [input is hidden] 

+ sudo chown -R ghost:ghost /var/www/yummy/content
✔ Setting up "ghost" system user

5.设置 Ghost MySQL 用户(推荐)

如先前 MySQL 使用的是 root ,此处可以让 Ghost-CLI 自动创建一个属于 Ghost 数据库的用户

# 输入 Y 确定创建
? Do you wish to set up "ghost" mysql user? (Y/n) 

✔ Setting up "ghost" mysql user

6.自动设置 NGINX? (推荐)

自动设置NGINX,使您的站点能够被外部访问。可以自己手动设置NGINX,但为什么要为难自己?

如果本机先前已有其它网站或需要使用自定义的网站环境,需要跳过自动配置 Nginx 与 SSL 证书

# 输入 Y 完成自动配置
? Do you wish to set up Nginx? (Y/n)

+ sudo mv /tmp/1230-one/1230.one.conf /etc/nginx/sites-available/1230.one.conf
+ sudo ln -sf /etc/nginx/sites-available/1230.one.conf /etc/nginx/sites-enabled/1230.one.conf
+ sudo nginx -s reload
✔ Setting up Nginx

7.自动设置 SSL(推荐)

如果您在第一步输入了带 https 的地址作为博客URL,并且正确配置了记录(在域名购买商处配置 A 记录)

# SSL证书设置需要一个电子邮件地址,以便在证书有任何问题时(包括在续订期间)随时通知您。
? Enter your email (For SSL Certificate)

Ghost-CLI可以使用 Let's Encrypt 自动为您设置SSL。或者,您可以稍后通过随时运行 "ghost instal ssl" 来执行此操作。

8.设置 systemd(推荐)

systemd是推荐的进程管理器工具,以保持Ghost平稳运行。我们建议选择 yes,但也可以设置自己的流程管理。

# 输入 Y 设置 systemd
? Do you wish to set up Systemd? (Y/n)

+ sudo mv /tmp/yummy/ghost_yummy.service /lib/systemd/system/yummy.service
+ sudo systemctl daemon-reload
✔ Setting up Systemd
+ sudo systemctl is-active ghost_yummy

9.启动 Ghost

# 输入 Y 启动 Ghost
? Do you want to start Ghost?  (Y/n)
+ sudo systemctl start ghost_yummmy-best
+ sudo systemctl is-enabled ghost_yummmy-best
+ sudo systemctl enable ghost_yummmy-best --quietStarting Ghost

Ghost uses direct mail by default. To set up an alternative email method read our docs at https://ghost.org/docs/config/#mail

------------------------------------------------------------------------------

# 当显示这条信息时,表示 Ghost 已完成安装流程
Ghost was installed successfully! To complete setup of your publication, visit: https://yummmy.best/ghost/

站点配置

打开浏览器,输入你的博客域名,即可看到博客首页‌

如果想要进入管理员后台的话只需要在域名的加上 /Ghost 即可进入后台,例如:https://你的域名/ghost

首次登陆后台需要注册管理员信息,请牢记你的注册邮箱以及密码。

更多关于优化Ghost的教程会在下一篇推出。

相关文章

比例尺怎么算出来的(你知道比例尺的意义)

1、什么叫比例尺? 图上距离和实际距离的比,叫做比例尺。 也就是图上距离:实际距离 = 比例尺 或写成(= 比例尺) 2、比例尺的种类: (1)、数字比例尺:如:1:10000

2024-04-29 15:21:45

apec成员国有美国吗(一文了解亚太经合组织)

  亚太经合组织(Asia-Pacific Economic Cooperation, 简写APEC)第三十次领导人非正式会议将于11月15日至17日在美国旧金山召开。2023年度

2024-04-29 15:01:18

特斯拉线圈原理详细讲解(理解制造闪电的“特斯拉线圈”及无线输电原理)

无线网络、无线信号,这些名词早已经成为我们日常中极为常见的词汇。但是无线电力传输,到现在还是比较少听到的。电能无线传输,就意味着我们以后不用到处挖沟、拉电杆、铺电线了,对于无处不用

2024-04-29 14:41:18

视频切割软件哪个最好用(分享常见的3款软件!好用!)

在现代数字化时代,视频成为了人们生活中不可或缺的一部分。不管是分享生活还是工作宣传,通过视频的形式总能达到意想不到的效果。但视频文件太大、繁杂的内容太多怎么办?这时候就需要对视频内

2024-04-29 14:22:32

中国人口最多的城市是哪个城(我国人口最多的十大城市)

随着经济的发展,我国的人口也进一步向中心城市、都市圈集聚,根据最新的统计结果,我国有17个城市常住人口超过1000万,下面我们就来盘点一下我国人口最多的十大城市。第十名、苏州市苏州

2024-04-29 14:01:12

社保可以退吗农村户口(这几种特殊情况除外)

一般情况下,缴纳的社会保险是不能退的。不退社会保险,是为了将来给参保者争取更大的利益。社会保险的福利性,对社会稳定的促进作用不可小觑。根据现行社保政策,只有这几种特殊情况可以办理退

2024-04-29 13:41:13