介绍
2013年4月,John O'Nolan(http://john.onolan.org/),不是博客创作领域的新人,为一种名为Ghost(http://en.ghost.org/)的新型博客推出了Kickstarter,这可以极大地简化写作和维护博客。
前提条件
在你开始之前,有一些事情你应该拉在一起
- 获取Ghost 的副本 - 此教程将假定您已经在本地计算机上有Ghost的副本. 由于它目前仅可供Kickstarter支持者使用,您应该被发送到网站的链接,您可以下载它。
- 设置 VPS
- 本教程将假定您已经设置了 VPS. 我们将使用Ubuntu 12.04,但您应该对任何你想要的东西都很好。
- 指向您的 VPS 域名 - 本教程将假设您已经指向您的 VPS 域名。
步骤1:安装 npm
在我们开始之前,我强烈建议确保您的系统是最新的。
1ssh root@*your-server-ip*
在您的本地机器上,并在您的VPS上运行以下操作:
1apt-get update
2apt-get upgrade
一旦完成,我们需要安装npm
。运行以下命令将为Node安装一些依赖性,将其存储库添加到apt-get
,然后安装nodejs
。
1apt-get install python-software-properties python g++ make
2add-apt-repository ppa:chris-lea/node.js
3apt-get update
4apt-get install nodejs
** 注意:** 您不应该用sudo
运行命令,因为您可能已登录为 root,但如果您偏离本教程并登录为另一个用户,请记住,您可能需要sudo
。
现在,如果你在命令行运行npm
,你应该看到一些帮助信息打印出来。
步骤二:安装幽灵
接下来要做的是将你的Ghost副本发送到远程服务器上,请注意,此步骤只需要现在,而Ghost则处于测试阶段,一旦它向公众开放,它将可通过npm
进行安装(并且本教程可能会更新以反映这一点)。
欢迎您将文件直接下载到您的 VPS 或通过 FTP 传输。我将向您展示如何使用 SCP 将文件夹从您的主机复制到服务器。
1cd /path/to/unzipped/ghost/folder
2scp -r ghost-0.3 root@*your-server-ip*:~/
这将将ghost-0.3
文件夹的所有内容复制到服务器上的 root 用户的主文件夹。
现在,回到远程服务器上,进入您刚刚上传的Ghost文件夹,并使用npm
来安装Ghost。
1cd ~/ghost-0.3
2npm install --production
一旦完成,请执行以下操作,以确保安装工作正常:
1npm start
你的输出应该看起来如下:
1> [email protected] start /root/ghost-0.3
2> node index
3
4Ghost is running...
5Listening on 127.0.0.1:2368
6Url configured as: http://my-ghost-blog.com
如果是这样的话,恭喜你!Ghost已在你的服务器上运行,停止使用Control-C的过程,然后继续进行下一步来完成配置。
步骤 3:安装和配置 nginx
下一步是安装和配置nginx
。Nginx(发音为engine-x
)是免费的、开源的、高性能的HTTP服务器和反向代理
。基本上,它将允许从端口80的外部连接到Ghost正在运行的端口,以便人们可以看到你的博客。
入口很简单:
1apt-get install nginx
配置只是稍微更具挑战性。从cd
到 nginx 的配置文件开始,然后删除默认文件:
1cd /etc/nginx/
2rm sites-enabled/default
现在,创建一个新的配置文件:
1cd sites-available
2touch ghost
并粘贴下面的代码,修改它以适应自己的配置(您唯一需要更改的是域名):
1server {
2 listen 0.0.0.0:80;
3 server_name *your-domain-name*;
4 access_log /var/log/nginx/*your-domain-name*.log;
5
6 location / {
7 proxy_set_header X-Real-IP $remote_addr;
8 proxy_set_header HOST $http_host;
9 proxy_set_header X-NginX-Proxy true;
10
11 proxy_pass http://127.0.0.1:2368;
12 proxy_redirect off;
13 }
14}
最后,创建从可用网站
中的文件到可用网站
的同步链接:
1cd ..
2ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost
这将听取在端口80上的流量,并将请求传递到Ghost,只要它们连接到您提供的域。
重新启动服务器(使用步骤 2 末尾的代码),然后访问您的域名。
步骤4:设置升级
最后一步是做一个 Upstart 任务,将处理 Ghost,并确保如果您的服务器因某种原因关闭,Ghost 将被重新启动。
1cd /etc/init
2nano ghost.conf
并在以下配置中粘贴:
1# ghost
2
3# description "An Upstart task to make sure that my Ghost server is always running"
4# author "Your Name Here"
5
6start on startup
7
8script
9 cd /root/ghost
10 npm start
11end script
这应该确保您的服务器随时启动 Ghost,并允许您轻松地使用服务幽灵启动
,服务幽灵停止
和服务幽灵重新启动
来控制 Ghost。