一键安装部署,在 Ubuntu 服务器上快速搭建基于 Ghost CMS的网站

news2024/12/22 22:37:55

我们在上一篇内容中讲过,如何使用 Helm 在 Kubernetes 集群上安装 WordPress,创建高可用性网站。而这次我们将基于另一个流行的内容管理系统 Ghost CMS 在 DigitalOcean 云主机进行建站。

Ghost 也是开源的内容管理系统(CMS),用于发布博客和其他内容。它基于 Node.js 技术栈构建,可高度定制。与其他管理系统一样,Ghost 附带预建模板,你可以在创建博客时使用或扩展。本教程将指导你使用 DigitalOcean Ghost 1-Click App启动预装了 Ghost 的 DigitalOcean Droplet。你可以创建一个免费的 DigitalOcean 账户来使用可用于一键启动的Marketplace App。安装 Ghost 1-Click 应用程序后,你就可以开始通过 Ghost CMS 创建帖子了。

一键部署

Ghost 1-Click 应用中预装了以下软件包:

  • Ghost
  • Nginx 1.18.0
  • MySQL Server 8.0.29
  • Node.js 16.x

截至本文撰写之时,该一键应用中包含了最新版本的 Ghost 5.33.3 ,并可运行在 Ubuntu 22.04 服务器上。

前提条件

要在浏览器上运行 Ghost 1-Click,你需要一个域名。你可以使用 DNS 快速入门指南,了解如何使用 DigitalOcean DNS 设置域名。

第1步 - 创建 Ghost Droplet

Ghost 1-Click Droplet 可在DigitalOcean的MarketPlace上看到。要开始使用,请选择“创建 Ghost Droplet”按钮:

图:进入 Ghost 1-Click 登陆页面后,请点击创建 Droplet 的按钮。

你的 DigitalOcean 控制面板将在“ Choose an image”部分列出 Ghost 1-Click Droplet 作为你的选择。如果尚未选择,可以使用关键字搜索框查找:

图:你的 DigitalOcean 控制面板中已选择 Ghost 镜像。

如果尚未选择 Ghost 镜像,请使用搜索框搜索 Ghost。

正确选择 Ghost 图像后,你可以接受默认设置,也可以根据使用情况调整设置。我们通常建议进行以下更改:

  1. 选择数据中心:为避免潜在的延迟,建议选择离你的用户群最近的数据中心区域。在某些地区,DigitalOcean有不止一个数据中心。这些相同区域的数据中心之间没有区别(例如,SFO3 和 SFO2)。
  2. 选择规划:选择适合你的计划。请记住,你可以根据需要调整 Droplet 的大小。对于 Ghost CMS,DigitalOcean建议使用至少有 2 个 CPU 内核和 4GB 内存的 Droplet。
  3. 选择身份验证方法:建议使用 SSH 密钥选项,而不是 Droplet 的密码。使用 SSH 密钥进行身份验证更安全。
  4. 选择附加选项:为你的 Droplet 添加改进的指标、监控和警报,可帮助你随时间跟踪 Droplet 的资源使用情况。你可能还需要考虑启用自动备份。你可以稍后返回,在已创建的 Droplet 上启用备份功能。

  1. 选择主机名

给你的 Droplet 起一个识别名称。 sammy-Ghost使用在这个案例:

  • 输入名称并作出选择后,按下“Create Droplet”按钮。您的 Droplet 将开始安装过程,可能需要一些时间才能完成。完成后,你将收到一个 IP 地址。

  • 按下“Get started ”链接即可访问“一键市场”应用程序的附加资源。其中包括应用程序概述、进一步的安装设置以及社区网站上相关教程的链接。您还可以通过查看 Ghost 官方文档获得支持。

完成所有选择后,就可以在终端中访问新的 Ghost Droplet,继续安装过程。

第 2 步 - 通过 SSH 访问 Droplet 以进行配置

启动 Ghost Droplet 后,通过 SSH 与之连接。如果您以前没有使用过 SSH 或 PuTTY 等终端程序,请查看如何使用 SSH 连接到 Droplet。准备就绪后,在计算机上打开终端,使用以下命令通过 SSH 以根用户身份登录,将 IP 地址替换为 Droplet 的 IP 地址:

ssh root@your_server_ip

当终端提示您继续连接时,输入 yes。Ghost 将开始安装。

第 3 步 - 完成 Droplet 上的 Ghost 安装

在设置向导启动后,会提示您输入域名和电子邮件地址。按下 ENTER 键继续安装:

. . .
Ghost will prompt you for two details:

1. Your domain
 - Add an A Record -> your_IP_address & ensure the DNS has fully propagated
 - Or alternatively enter http://your_IP_address
1. Your email address (only used for SSL)

Press enter when you're ready to get started!
. . .

在此安装步骤中,你将收到以下输出。请注意,完成此过程可能需要几分钟:

Output
. . .
✔ Checking system Node.js version - found v16.17.0
✔ Checking current folder permissions
✔ Checking memory availability
✔ Checking free space
✔ Checking for latest Ghost version
✔ Setting up install directory
☲ Downloading and installing Ghost v5.33.3 > Installing dependencies > [4/5] Linking dependencies...
. . .

安装完成后,输入您的域名:

. . .
✔ Finishing install process
? Enter your blog URL: your_domain_name

然后,输入电子邮件地址以设置 LetsEncrypt SSL 证书:

. . .
✔ Configuring Ghost
✔ Setting up instance
+ sudo useradd --system --user-group ghost
+ sudo chown -R ghost:ghost /var/www/ghost/content
✔ Setting up "ghost" system user
✔ Setting up "ghost" mysql user
+ sudo mv /tmp/your_domain/your_domain.conf /etc/nginx/sites-available/your_domain.conf
+ sudo ln -sf /etc/nginx/sites-available/your_domainconf /etc/nginx/sites-enabled/your_domain.conf
+ sudo nginx -s reload
✔ Setting up Nginx
? Enter your email (For SSL Certificate) your_email_address

稍等片刻,你将看到以下输出:

. . .
✔ Starting 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 was installed successfully! To complete setup of your publication, visit: 

    https://your_domain/ghost/


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

For any further commands, please switch to the ghost-mgr user to manage Ghost.

    sudo -i -u ghost-mgr

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

获得证书后,导航到 https://your_domain/ghost/ 以访问你的 Ghost 服务器。生成新实例的登录页面可能需要一点时间:

在必填字段中输入你的信息,然后点击“Create account ”按钮。你将进入 Ghost 管理面板:

现在您可以访问管理面板,您可以创建您的第一篇帖子。按 左侧导航面板上的“撰写您的第一篇帖子”按钮:

你将进入一个空白页面来撰写你的帖子。输入帖子标题和内容:

输入内容后,你可以通过点击右上角的“Preview”按钮来测试用户将如何查看帖子

通过点击左上角的“Editor”按钮退出预览。

完成对帖子的编辑后,点击“Publish”。此时会出现一个包含几个下拉菜单选项的提示。将选项保留为默认值以立即发布帖子:

你将收到另一个确认发布的提示。立即按“Publish post, right now”继续:

现在,您的网站上已经运行了 Ghost 服务器、管理面板,并发布了一篇新的博客文章。

结论

现在,你已经建立了自己的 Ghost 服务器,可以继续尝试使用各种选项,根据自己的需要自定义服务器的外观和设置。如果您想了解更多有关 Ghost 发布的入门知识,可以查看他们的资源库。你还可以参考 Ghost 开发人员文档,深入了解 Ghost 技术和 API 功能。

要了解更多有关创建自己的模板以及使用 Next.js 和 TailwindCSS 进一步定制的信息,请查看我们的《如何在 DigitalOcean 上使用 Ghost 和 Next.js 创建博客》教程。

感谢你与 DigitalOcean 社区一起学习。请查看我们的计算、存储、网络和托管数据库产品,进一步了解我们提供的服务。如果中国区用户需要了解产品、获取技术支持,可以联系 DigitalOcean 中国区独家战略合作伙伴卓普云。

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

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

相关文章

【Arduino】ESP8266开发环境配置(图文)

ESP8266与ESP32开发很类似,相当于是低配版本的ESP32,其同样具有无线网络连接能力,功能强大,而且价格比ESP32更具有优势。接下来我们就来设置一下ESP8266的开发环境。 使用Arduino开发平台软件,选择首选项进行设置。 h…

论文解析——Transformer 模型压缩算法研究及硬件加速器实现

作者及发刊详情 邓晗珂,华南理工大学 摘要 正文 实验平台 选取模型: T r a n s f o r m e r b a s e Transformer_{base} Transformerbase​ 训练数据集:WMT-2014 英语-德语翻译数据集、IWSLT-2014 英语-德语互译数据集 Transformer模…

警翼警用记录仪视频格式化后恢复方法

警翼是国内较大的一家警用记录仪厂商,此品牌我们恢复过很多,此次遇到的是一个典型的误格式化的情况,我们来看看误格式化后如何恢复。 故障存储: 32G卡/fat32 故障现象: 客户提供的信息是在交接设备后没有及时备份而做出了初始化设备的操…

图像信号处理器(ISP)基础算法及处理流程

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《暗光增强》 &a…

录屏软件哪个好?3款宝藏软件,分享给你

在数字化时代,录屏软件因其强大的功能性和实用性,逐渐成为工作和生活中的得力助手。然而,市面上的录屏软件众多,选择一款适合自己的录屏软件却成为了一个难题。 不同的录屏软件在功能、性能、易用性等方面都有所不同,…

js之模糊搜索

多的不说 少的不唠 直接上代码

2.5 C#视觉程序开发实例1----设计一个IO_Manager

2.5 C#视觉程序开发实例1----设计一个IO_Manager 第一步目标: 1 实现获取IO触发信号Trig0 2 能够实现程序切换 3 图像处理后能够输出一个脉冲 1 IO 引脚定义 1.1 输入信号定义 1.2 输出信号定义 2 IO时序图 2.1 触发时序 2.2 切换程序时序图 3 IO_Manager.cs …

数据库表导出到excel

数据库表导出到excel:前置知识1 ALL_TAB_COLS 数据库表导出到excel:前置知识2 Quartz基本使用 数据库表导出到excel:前置知识3 项目封装的Quartz实现动态定时任务 数据库表导出到excel:前置知识4 业务和效果 发起清单下载control层InventoryDownloadLogController /* * */ pa…

用户资料门户的构建

1. 需求背景 老的页面停止维护了,且老旧, 功能单一,且页面分散. 急需做功能集成的平台化建设原先的用户资料查询没有做权限管控, 每一次查询都会消耗我们组的人力资源. 2. 项目介绍 2.1. 项目地址 服务地址: [公司内网服务(略)] 工蜂地址: [公司内网仓库(略)] 2.2 项目的价…

女性经济崛起,天润融通用客户感知挖掘市场潜力

每逢一年一度的国际妇女节,“女性”话题都会被郑重地讨论。 从消费市场上来说,最近几年女性群体正在拥有越来越大的影响力,甚至出现了“她经济”这样的专属词汇在最近几年被市场反复讨论。 毫无疑问,女性消费群体的崛起已经成为…

揭秘品牌成功秘诀:品牌营销策略的核心要素大公开

品牌营销作为企业战略中至关重要的一环,其核心是建立和传播品牌的独特魅力,使其在消费者心目中占据重要位置。 一个成功的品牌营销策略能够提升品牌的知名度和影响力,带来持续的销售和忠诚客户群体。 在当今竞争激烈的市场环境中&#xff0…

Prompt的万能公式和优化技巧

文章目录 前言一、万能公式二、优化技巧1.设定角色2.设定目标和动机3.引导主观回答4.预设条件5.做强调6.思维链(COT)7.巧用定界符 前言 随着LLM的发展,能给我们带来很多方便,但是又引出了一个新的问题就是我们该如何使用他们&…

明星代言方式8种助力品牌占领市场-华媒舍

1. 明星代言的重要性和市场价值 明星代言是一种常见的品牌推广方式,通过联系知名度高的明星来推广产品或服务,从而提升品牌的知名度和美誉度。明星代言能够借助明星的影响力和粉丝基础,将品牌信息传达给更广泛的受众,从而提高销量…

【数据结构】建堆的时间复杂度

一.向下调整建堆 1.二叉树层数与总节点个数关系 层数一定时,在二叉树节点个数最大的情况下,二叉树为满二叉树,如下图所示,可以清晰地看到在满二叉树中第h层有2^(h-1)个节点,总节点N就等于一个等比数列的求和&#xf…

【Python机器学习】模型评估与改进——在模型选择中使用评估指标

我们通常希望,在使用GridSearchCV或cross_val_score进行模型选择时能够使用AUC等指标。scikit-learn提供了一种非常简单的实现方法,那就是scoring参数,它可以同时用于GridSearchCV和cross_val_score。你只需要提供一个字符串,用于…

RabbitMQ入门教程(精细版二带图)

目录 六 RabbitMQ工作模式 6.1Hello World简单模式 6.1.1 什么是简单模式 6.1.2 RabbitMQ管理界面操作 6.1.3 生产者代码 6.1.4 消费者代码 6.2 Work queues工作队列模式 6.2.1 什么是工作队列模式 6.2.2 RabbitMQ管理界面操作 6.2.3 生产者代码 6.2.4 消费者代码 …

谷粒商城学习-06-使用vagrant快速创建linux虚拟机

这一节的内容是在Windows上安装虚拟机。 为什么要按照虚拟机呢? 原因是很多软件只能在Linux下运行,有的虽然也可以在Windows上运行,但从安装到运行会遇到很多问题,为这些解决这些问题花时间对于大多数人特别是初学者是没有什么价…

WPS操作技巧:制作可以打对勾的方框,只需简单几步!沈阳wps办公软件培训

日常工作中,我们经常需要在表格中添加复选框,比如【性别选择】、【任务完成状态】等等,通过打对勾来确定状态。今天就分别从WPS的Excel表格和Word文档2种场景,介绍制作可以打对勾的复选框的方法技巧,掌握技巧&#xff…

k8s-第十节-Ingress

Ingress 介绍 Ingress 为外部访问集群提供了一个 统一 入口,避免了对外暴露集群端口;功能类似 Nginx,可以根据域名、路径把请求转发到不同的 Service。可以配置 https跟 LoadBalancer 有什么区别? `LoadBalancer`` 需要对外暴露端口,不安全;无法根据域名、路径转发流量到…