如何从命令行配置和维护Ghost

Ghost是一个令人兴奋的新博客平台。虽然大多数任务可以通过Web界面完成,但仍然有一些操作必须从服务器的命令行完成。在本文中,我们将讨论如何升级,备份,

介绍


Ghost是一个令人兴奋的新博客平台,专注于回到基础。 它允许你专注于内容和演示,而没有通常的膨胀和分心。

在以前的指南中,我们讨论了如何与DigitalOceanGhost部署我们的一键安装 我们还讨论了如何来管理内容如何更改主题和
设置

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

如何控制Ghost服务


Ghost应用程序在我们的Droplet上的守护进程上实现。 这意味着我们可以启动,停止,轻松地使用Ubuntu的重新启动它service命令。

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

启动Ghost:

sudo service ghost start

停止Ghost:

sudo service ghost stop

重启Ghost:

sudo service ghost restart

有时,在我们更改配置之后,重新启动nginx(我们的网络服务器)也是有帮助的:

sudo service nginx restart

你不应该经常使用这些命令,但是他们有助于知道你是否不太熟悉Linux环境。

如何备份Ghost


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

Ghost存储它的大部分数据的数据库中的称为ghost.db

如果你想直接复制这个,你可以这样做,但你应该先停止Ghost服务:

sudo 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:

sudo service ghost start

也许一个更简单的方法是通过Web界面访问您的网站的此页面:

domain_name/ghost/debug

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

Ghost导出数据

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

如何升级Ghost


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

当一个新版本发布时,你可以从得到它Ghost网站 您可能需要创建一个帐户或登录。

搜索到最新版本的下载链接,并通过右键单击或控制单击“立即下载”按钮并选择“复制链接地址”或“复制链接位置”来复制链接。

目前,最新版本的网址始终位于此处,但可能会在将来更改:

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

以root身份登录您的GhostDroplet。 在升级之前,将数据库备份到您的家庭计算机,如上所述。

我们将需要build-essential ,以完成Ghost升级包。 您可以通过键入以下命令将其安装在系统上:

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

我们还要在升级文件之前停止Ghost服务,以便没有进程正在修改文件,因为它们正在被覆盖:

service ghost stop

更改到Web根目录:

cd /var/www/

键入wget后面的URLGhost的最新版本。 如果您复制了链接位置,则可以在此处粘贴:

wget url_to_ghost_download

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

rm -rf ghost/core

将文件解压缩到正确的位置以更新Ghost安装:

unzip -uo ghost*.zip -d ghost

“-uo”选项提取文件的较新版本,并在必要时创建新文件。 不要忘记他们,否则你可能会消失你的信息!

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

chown -R ghost:ghost ghost/*

我们将改变到我们的Ghost目录,并使用获得新的依赖npm命令:

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

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

service ghost start

如果遇到问题,最好的办法是从头开始重复该过程,并检查命令输出中的错误。 大多数时候,你将能够通过第二次遇到任何错误。

如何测试Ghost配置更改


Ghost使用许多预配置的“环境”执行。 环境指示要使用的数据库,要响应的URL以及如何与后端服务器通信。

我们通常在“生产”环境中运行Ghost的实例。 这在大多数情况下,正确配置为在面向公众的网站上提供您的博客。

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

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

nano /var/www/ghost/config.js

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

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

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

    production: {
        . . .
        . . .
    },

    otherEnvironments: {
        . . .
        . . .
    }
}

红色中的每个节标题定义了一个环境。 如果我们想在新环境中测试更改,我们可以复制“生产”环境并在那里进行修改。

为此,我们将复制以下内容:

production: {

和匹配的关闭括号(在下一个“测试”环境开始之前):

},

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

production: {
    . . .
    . . .
},
production: {
    . . .
    . . .
},

接下来,将第二个“production”更改为我们的临时环境的名称。 我们将使用temporary

production: {
    . . .
    . . .
},
temporary: {
    . . .
    . . .
},

现在,我们有一个新的块来试验。 您可以在这里调整设置,而不必担心弄乱您的常规网站。

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

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

通过键入以下命令来打开Ghost init脚本:

nano /etc/init.d/ghost

查找指定生产环境的行:

export NODE_ENV=production

将此更改为引用您的新“临时”环境:

export NODE_ENV=temporary

保存并关闭文件。

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

service ghost restart

根据您使用的更改,您可能必须重新启动nginx:

service nginx restart

当您完全测试新配置时,应将更改从临时环境移动到生产环境中。

之后,重新打开init脚本并将环境规则更改为“production”:

nano /etc/init.d/ghost

export NODE_ENV=production

再次,重启Ghost:

service ghost restart

如何配置Ghost的电子邮件


Ghost不使用电子邮件的很多东西。 在写这篇文章的时候,它只使用它发送密码重置电子邮件。 然而,没有这个配置,你会看到一个恼人的横幅:

Ghost配置电子邮件横幅

我们需要配置电子邮件,使它消失。

首先,我们可以选择一个提供者。 您可以使用多种不同的电子邮件服务。 点击此处查看的与Ghost的邮件系统正常工作的知名电子邮件服务列表

建议您创建与博客相关联的新电子邮件地址。 您需要查找您的服务的SMTP设置。 使用google搜索:

your email choice SMTP

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

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

nano /var/www/ghost/config.js

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

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

开放式支架之间{和右括号}邮件线,你需要输入以下信息:

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

现在,您需要填写serviceuser ,并pass适当的值的字段。 对于service ,使用的名称,因为它是这里所指

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

保存并关闭文件。

重新启动Ghost以实现您的更改:

service ghost restart

现在,如果您退出并单击“忘记密码”链接,将会从您刚才配置的SMTP电子邮件中发送一封电子邮件到您的帐户电子邮件。

Ghost忘记密码

结论


现在,你应该很好地掌握如何做一些后台配置和维护的Ghost。 您只需要完成一些这些步骤,而其他(如备份)应该定期运行。

作者:Justin Ellingwood