介绍
Ghost是一个轻量级(~7.5MB)的开源博客平台,非常易于使用。Ghost是完全可自定义的。在互联网上有大量的主题可用于Ghost,无论是免费的还是付费的。
在本教程中,我们将通过步骤来获得Ghost设置并在Ubuntu 14.04系统上运行,我们还将安装Nginx到代理端口,并安装永远
,一个节点包,以保持Ghost在背景中运行。
前提条件
没有一个服务器运行Ghost的最低尺寸要求。考虑你的博客将获得多少访客,当你决定创建什么尺寸Droplet时,你计划分享多少内容。
在你开始之前,你需要以下几点:
- Ubuntu 14.04 Droplet * 注册域名指向您的 Droplet 的 IP 地址 * 具有 sudo 特权的非根用户
本教程将帮助您设置您的域名,以指向您的Droplet。
本教程中的所有命令都应该作为非根用户运行。如果需要 root 访问,则将先由 sudo
。 初始服务器设置与 Ubuntu 14.04解释如何添加用户并给他们 sudo 访问。
第1步:安装 Node.js 和 Npm
您需要更新本地包索引并安装zip
和wget
包,我们将在本教程中稍后使用它们。
1sudo apt-get update
2sudo apt-get install zip wget
Ghost 需要 Node.js v0.10.x (最新的稳定版本)。不稳定版本的 Node,如 v0.12.x,不受支持 **. Node.js v0.10.36 和 npm v2.5.0 由 Ghost.org 推荐。
安装 Node.js 使用 PPA 方法从 本教程。
一旦安装了 Node.js,请通过运行检查安装的版本:
1node -v
结果应该是这样的:
1v0.10.38
检查npm
是否已安装:
1npm -v
如果安装了,它应该输出安装的 npm 版本:
11.4.28
如果它输出一个错误,即 npm 未安装,请使用此命令安装它:
1sudo apt-get install npm
更新「npm」到版本 2.5.0 以执行以下命令:
1sudo npm install [email protected] -g
查看已安裝的「npm」版本:
1npm -v
产量应该是:
12.5.0
第2步:安装Ghost
接下来我们需要安装Ghost。Ghost.org建议在var/www/ghost
中安装Ghost,所以我们将在那里安装它。
首先,我们将创建一个目录 /var/www/
,然后从 Ghost 的 GitHub 存储库下载 Ghost 的最新版本:
1sudo mkdir -p /var/www/
2cd /var/www/
3sudo wget https://ghost.org/zip/ghost-latest.zip
现在我们已经获得了最新版本的Ghost,我们必须解码它. 我们还将更改我们的目录为 /var/www/ghost/
:
1sudo unzip -d ghost ghost-latest.zip
2cd ghost/
现在我们可以安装 Ghost 依赖和节点模块(仅限生产依赖):
1sudo npm install --production
Ghost 安装完成后,我们需要在启动 Ghost 之前设置 Ghost。
第3步:设置幽灵
Ghost 的配置文件应位于 /var/www/ghost/config.js 位置,但是,在 Ghost 中不安装任何此类文件,而安装中包含
config.example.js’。
将示例配置文件复制到适当的位置. 请确保复制而不是移动,以便在您需要重置更改的情况下拥有原始配置文件的副本。
1sudo cp config.example.js config.js
您的URL和邮件设置,在制作
部分,是需要修改的信息的关键区域。URL是必需的。否则,链接将带您到默认的http://my-ghost-blog.com’页面。幽灵可以在没有邮件设置的情况下工作,但建议您添加它们。在写这篇文章时,幽灵只需要邮件功能,如果用户忘记了他们的帐户密码,所以不需要配置邮件就不会造成太大的伤害。
打开文件以编辑:
1sudo nano config.js
您必须将)。 此值必须以URL的形式。 例如, http://example.com/ 或 http://45.55.76.126/. 如果这个值没有正确格式化,Ghost 将不会启动。
还将服务器
部分中的主机
值更改为0.0.0.0
。
以下显示需要更改为红色的值:
1[label /var/www/ghost/config.js]
2var path = require('path'),
3 config;
4
5config = {
6 // ### Production
7 // When running Ghost in the wild, use the production environment
8 // Configure your URL and mail settings here
9 production: {
10 url: 'http://my-ghost-blog.com',
11 mail: {
12 // Your mail settings
13 },
14 database: {
15 client: 'sqlite3',
16 connection: {
17 filename: path.join(__dirname, '/content/data/ghost.db')
18 },
19 debug: false
20 },
21
22 server: {
23 // Host to be passed to node's `net.Server#listen()`
24 host: '127.0.0.1',
25 // Port to be passed to node's `net.Server#listen()`, for iisnode s$
26 port: '2368'
27 }
28 },
29
30(...)
保存文件并离开纳米文本编辑器,按CTRL+X
,然后按Y
,最后按ENTER
。
虽然仍在 /var/www/ghost
目录中,请使用以下命令启动 Ghost:
1sudo npm start --production
结果应该是这样的:
1> ghost@0.6.4 start /var/www/ghost
2> node index
3
4Migrations: Database initialisation required for version 003
5Migrations: Creating tables...
6Migrations: Creating table: posts
7
8[...]
如果一切顺利,你应该能够使用端口2368访问你的博客: http://your_domain._name:2368
(或 http://your_servers_ip:2368
)。
在终端中按CTRL+C
,关闭 Ghost 实例。
<$>[注] 注: Ghost 可以进一步定制。 Ghost.org详细说明每个配置选项。
第4步:安装 Nginx
下一步是安装 Nginx. 基本上,它将允许端口80上的连接连接到Ghost正在运行的端口。
用以下命令安装:
1sudo apt-get install nginx
接下来,我们需要通过将我们的目录更改为/etc/nginx
并在/etc/nginx/sites-enabled
中删除默认文件来配置 Nginx:
1cd /etc/nginx/
2sudo rm sites-enabled/default
我们将创建一个名为幽灵
的/etc/nginx/sites-available/
中的新文件,并用nano
打开它来编辑它:
1sudo touch /etc/nginx/sites-available/ghost
2sudo nano /etc/nginx/sites-available/ghost
将以下代码粘贴到文件中,并将红色突出代码更改为您的域名或服务器的 IP 地址,如果您不想现在添加域名:
1server {
2 listen 80;
3 server_name your_domain.tld;
4 location / {
5 proxy_set_header X-Real-IP $remote_addr;
6 proxy_set_header Host $http_host;
7 proxy_pass http://127.0.0.1:2368;
8 }
9}
现在我们将在网站启用
中同步我们的配置:
1sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost
我们将重新启动 Nginx:
1sudo service nginx restart
接下来我们将创建一个新的用户. 这个用户只会被授予在目录中做的事情的特权 /var/www/ghost
. 这是一个安全措施. 如果 Ghost 受到威胁,你的系统将是安全的。
1sudo adduser --shell /bin/bash --gecos 'Ghost application' ghost
我们将提供特权:
1sudo chown -R ghost:ghost /var/www/ghost/
您现在可以作为幽灵
用户登录:
1su - ghost
现在我们需要启动幽灵:
1cd /var/www/ghost
2npm start --production
您应该能够访问您的博客在端口 80 作为 http://<your_server_ip>/ 或 http://<your_domain_name>/.
步骤5 - 保持幽灵运行永远
下一步是保持Ghost在后台运行。‘永远’是一个节点模块,可以用来在后台启动Ghost,并监视它,以确保它保持。
安装永远
使用以下命令从你的幽灵目录中,即/var/www/ghost
但是在运行命令之前,退出幽灵
用户并登录你的非根用户:
1exit
2sudo npm install -g forever
开始Ghost作为Ghost
用户,也必须从Ghost目录中运行:
1su - ghost
2cd /var/www/ghost
3forever start index.js
结果应该是这样的:
1warn: --minUptime not set. Defaulting to: 1000ms
2warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
3info: Forever processing file: index.js
默认情况下,它在开发环境中加载,可以通过运行以下命令来更改:
1NODE_ENV=production forever start index.js
「永遠」可以通過從 Ghost 目錄運行來停止:
1forever stop index.js
可能的错误
如下错误消息:
1Error: SQLITE_READONLY: attempt to write a readonly database
开始):
1sudo forever start index.js
如果最后一个命令说它无法找到永远
,请使用完整的路径到命令:
1sudo /usr/local/bin/forever start index.js
如果您看到以下错误:
1error: Cannot start forever
2error: script /home/ghost/index.js does not exist.
您不在 /var/www/ghost
目录中. 更改到此目录并再次执行命令。
结论
恭喜您!您已经安装了Ghost,并学会了如何使用Nginx进行代理端口。
您可以使用 Ghost 做得更多,例如,密码保护的博客是最新的功能之一。
查看Ghost上的其他DigitalOcean教程:
此外,请参阅以下内容来了解更多:
- Ghost.org - 幽灵网站 * 幽灵文档 - 官方幽灵文档 * 幽灵 Slack 页面 - 幽灵的 Slack 页面从幽灵社区真正的人获得帮助