如何通过命令行配置和维护 Ghost

介绍


Ghost是一个令人兴奋的新博客平台,专注于回到基础,它允许您专注于内容和演示,而无需通常的浮躁和分心。

在以前的指南中,我们讨论了 如何在DigitalOcean上部署幽灵与我们的单击安装,我们还涵盖了 如何管理内容如何更改主题和设置

在本指南中,我们将深入了解配置,并讨论如何从命令行管理应用程序的某些方面。

如何控制幽灵服务


Ghost应用程序是在我们的Droplet上实现的,这意味着我们可以使用Ubuntu的服务命令轻松启动、停止和重新启动它。

我们可以像任何其他服务一样控制 Ghost 服务:

幽灵的开始:

1sudo service ghost start

停止幽灵:

1sudo service ghost stop

重新启动幽灵:

1sudo service ghost restart

有时,在我们对我们的配置进行更改后,重新启动 nginx(我们的 Web 服务器)也可能有帮助:

1sudo service nginx restart

您不应该经常使用这些命令,但它们有助于了解您是否对Linux环境不太熟悉。

如何支持幽灵


备份Ghost是微不足道的,所以你应该经常这样做。

Ghost 将其大部分数据存储在一个名为 Ghost.db 的数据库中。

如果您想直接复制此内容,您可以这样做,但您应该先停止 Ghost 服务:

1sudo service ghost stop

您可以通过键入本地终端来复制到自己的计算机:

scp root@your_ghost_IP_address:/var/www/ghost/content/data/ghost.db .

这将将其复制到当前的本地目录。

要复制主题,发出此命令:

ssh -n root@your_ghost_IP_address 'tar zcvf - -C /var/www/ghost/content/themes .' | cat - > ghost_themes.tar.gz

这将创建一个名为ghost_themes.tar.gz的档案文件,包含当前本地目录中的所有主题。

为了备份您的图像,您可以运行类似的命令,该命令将创建一个名为 `ghost_images.tar.gz'的文件:

ssh -n root@your_ghost_IP_address 'tar zcvf - -C /var/www/ghost/content/images .' | cat - > ghost_images.tar.gz

不要忘了在下载数据后重新启动 Ghost:

1sudo service ghost start

也许一个更容易的方式来做到这一点是通过访问您的网站的这个页面的Web界面:

domain_name/ghost/debug

您可以点击导出按钮下载您的博客内容和设置的副本:

Ghost export data

如果您需要重新部署,您可以随时再次访问此页面并导入您刚刚下载的数据文件。

如何升级幽灵


重要的是要保持你的Ghost安装最新的,以保持安全. 你可以找到官方Ghost升级指南,这是定期更新, 这里

当新版本发布时,您可以从 Ghost 网站获取它。

搜索下载链接到最新版本,并通过右键或控制键单击下载现在按钮复制链接,并选择复制链接地址复制链接位置

目前,最新版本的 URL 總是在這裡,但未來可能會有變化:

1http://ghost.org/zip/ghost-latest.zip

在升级之前,请将数据库备份到您的家庭计算机,如上所述。

我們將需要「build-essential」套件才能完成 Ghost 升級,您可以按下列方式在您的系統上安裝:

1sudo apt-get update
2sudo apt-get install build-essential

我们还希望在升级文件之前停止 Ghost 服务,以便没有任何进程在修改文件,因为它们正在被重写:

1service ghost stop

更改 Web 根目录:

1cd /var/www/

输入wget,然后是 Ghost 最新版本的 URL. 如果您复制了链接的位置,您可以在这里粘贴:

wget url_to_ghost_download

在复制升级的文件之前,删除核心目录的当前内容:

1rm -rf ghost/core

将文件提取到正确的位置以更新 Ghost 安装:

unzip -uo ghost*.zip -d ghost

-uo选项提取新版本的文件,并在必要时创建新的文件. 不要忘记它们,否则您可能会删除您的信息!

接下来,您必须将文件的控制权交给 Ghost 进程,您可以通过键入:

1chown -R ghost:ghost ghost/*

我们将通过更改我们的幽灵目录并使用npm命令获得新的依赖性:

1cd /var/www/ghost
2npm install --production

若要实施更改,请重新启动 Ghost 服务:

1service ghost start

如果你遇到问题,最好的事情是重复从一开始的过程,并检查输出命令中的错误. 大多数时候,你将能够通过第二次运行捕捉任何错误。

如何测试 Ghost 配置更改


Ghost 使用一系列预配置的环境运行,环境决定使用哪个数据库,应对哪个 URL,以及如何与后端服务器交谈。

我们通常在生产环境中运行我们的Ghost实例,这在大多数情况下是正确配置的,以便在面向公众的网站上服务您的博客。

如果我们想尝试一些设置,我们可以通过创建一个新的环境,然后在启动Ghost时指定这些环境来安全地做到这一点。

环境配置在文档根中的 config.js 文件中. 使用文本编辑器打开此文件:

1nano /var/www/ghost/config.js

在里面,你会看到一些看起来像这样的代码:

var path = require('path'),
    config;

config = {
    development: {
        . . .
        . . .
    },

    production: {
        . . .
        . . .
    },

    otherEnvironments: {
        . . .
        . . .
    }
}

如果我们想在新环境中测试变化,我们可以复制生产环境并在那里进行我们的修改。

为了做到这一点,我们将复制所有之间:

1production: {

和相匹配的关闭支架(在下一个测试环境开始前):

1},

直接在我们刚刚复制的生产块下,我们可以粘贴碎片。

1production: {
2    . . .
3    . . .
4},
5production: {
6    . . .
7    . . .
8},

接下来,将第二个生产改为我们临时环境的名称,我们将使用临时

1production: {
2    . . .
3    . . .
4},
5temporary: {
6    . . .
7    . . .
8},

现在,我们有一个新的区块来实验,你可以调整这里的设置,而不必担心破坏你的常规网站。

完成后,保存并关闭文件。

在我们完成了修改临时块后,我们需要告诉Ghost使用这个新块,我们将通过调整启动Ghost的 init脚本中的值来做到这一点。

打开 Ghost init 脚本,键入:

1nano /etc/init.d/ghost

查找指定生产环境的行:

1export NODE_ENV=production

更改此,以引用您的新的临时环境:

1export NODE_ENV=temporary

保存并关闭文件。

现在,我们可以重新启动 Ghost 以使用我们的新设置:

1service ghost restart

根据您所使用的更改,您可能还需要重新启动 nginx:

1service nginx restart

当您彻底测试新配置后,您应该将更改从临时环境转移到生产环境中。

之后,重新打开 init 脚本并更改环境规则返回生产:

1nano /etc/init.d/ghost

1export NODE_ENV=production

重新启动 Ghost:

1service ghost restart

如何为 Ghost 设置电子邮件


Ghost 不会用电子邮件来做很多事情,在写这篇文章的时候,它只会用它来发送密码重置电子邮件,但是如果没有这个配置,你会看到一个令人烦恼的标签:

Ghost configure email banner

我们需要配置电子邮件来让这一切消失。

首先,我们可以选择一个服务提供商。您可以使用多种不同的电子邮件服务。 点击此处查看与Ghost的电子邮件系统合作的知名电子邮件服务列表(https://github.com/andris9/Nodemailer# well-known-services-for-smtp)。

建议您创建与博客相关的新电子邮件地址. 您需要为您的服务找到 SMTP 设置。

your email choice SMTP

有些服务对SMTP的登录名称和密码不同于其常规服务,请确保您找到所需的信息,例如,对于Gmail帐户,您可以使用正常的登录凭证。

打开config.js文件,输入您的邮件设置:

1nano /var/www/ghost/config.js

您需要在处理邮件的生产部分找到行:

. . .
production: {
    url: 'http://example.com',
    mail: {},
    database: {
    . . .

在邮件线的开放栏 { 和关闭栏 `} 之间,您需要输入以下信息:

mail: {
    transport: 'SMTP',
    options: {
        service: '',
        auth: {
            user: '',
            pass: ''
        }
    }
},

现在,您需要用相应的值填写服务用户通道字段。

mail: {
    transport: 'SMTP',
    options: {
        service: 'service_name',
        auth: {
            user: 'SMTP_login_name',
            pass: 'SMTP_password'
        }
    }
},

保存并关闭文件。

重新启动 Ghost 以实现更改:

1service ghost restart

现在,如果您退出并点击忘记密码链接,将从您刚刚配置的SMTP电子邮件发送电子邮件到您的帐户电子邮件。

Ghost forgotten password

结论


到目前为止,您应该对 Ghost 的后台配置和维护有很好的了解,您只需要完成其中一些步骤一次,而其他步骤(如备份)则应该定期运行。

By Justin Ellingwood
Published At
Categories with 技术
comments powered by Disqus