在OpenShift上免费搭建Ghost博客

初次接触 Ghost 的时候,看到大家都是在 Nitrous.io 上来玩的,于是也尝试了一下,跟着网上的教程一步一步搭起来了。不过它每隔一段时间就会自动关机,而且每月提供的免费时长也很有限,所以我尝试着换一个 Pass 平台可以让 Ghost 一直稳定地运行起来。

玩过 Ghost 的人都知道,它是构建在 Node.js 平台之上,所以我们只需要找到支持 Node.js 的主机就行了,在 Google 上搜了一下,有人已经把所有支持 Node.js 的主机都列出来了,地址:https://github.com/nodejs/node-v0.x-archive/wiki/Node-Hosting

对比了一下,最后我选择了 OpenShift, 主要是因为它免费,而且它的应用里面已经自带了 Ghost0.7.5 的版本。好了,说了这么多,下面开始搭建我们的 Ghost 博客了。

1. 在OpenShift上建立Ghost应用

首先,我们需要一个 OpenShift 账号,注册什么的就没什么好说的了,不过有一点还是要提醒一下大家,注册的时候验证码好像被墙了,可以看下面的两张图,有验证码的是我用 VPN 访问的。这里大家注意一下就好了。

注册成功的界面

然后我们创建一个 Ghost 应用

进去之后直接创建应用就行了,感觉没什么可以修改的,这样就创建好了一个 Ghost 博客,下面是我创建的两个应用

2. OpenShift空间绑定域名

进入你的应用之后,默认的地址应该是打不开的,点旁边的 change 按钮绑定你自己的域名

添加你自己的域名,点击保存即可。

在你的域名提供商那里进行域名解析,我用的是 花生壳。 在你的域名管理处添加 CHAME 记录

好了,现在访问www.maplejoyous.cn就可以访问我刚建的 Ghost 博客了,想要编辑的话可以在后面加 /ghost ,即可进入后台。结果发现 Ghost 的默认网址还是 OpenShift 分配的网址,后台操作不了。我们得修改应用里面的地址。

3. 使用SSH管理OpenShift应用

OpenShift强大之处是可以用SSH来直接管理,像操作VPS主机一样来执行相关命令

首先,我们下载一个 Puttygen 用来生成密钥,点击 Generate 来生成,记住要在窗口里不断地移动你的鼠标

复制生成的公钥

将该公钥内容粘贴到 OpenShift 空间的 Public key 中,为你的 key 取个名字

好了,Seeting 里面出现了你刚才添加的 key 信息

然后,我们转到 Puttygen 里面,点击 Conversions 导出我们的私钥,导出后记得妥善保管,这是 SSH 连接 OpenShift 的凭证。

接下来就是连接到你的 OpenShift 空间了,选择一款 SSH 软件,如 xshellSecureCRT。我用的是 xshell,找到你应用里面的 Source Code ,里面包含你的主机名和用户名。

打开 xShell ,新建会话,填好属性

点击确定后,开始连接,接着输入你的用户名,即 Source Code 里面 ssh:// @ 中间的这部分字符串。

选择 Public Key ,用户密钥选择你刚才导出的私钥文件

连接 OpenShift 空间成功,接下来我们就可以像操作 VPS 一样的来进行操作了

我们敲一下命令试一下,比如:ls -l,可以看到列出来的文件名

4. 修改Ghost域名

在 xShell 里面进行操作,先进入 Ghost 的博客目录

cd app-root/repo

编辑 config.js

vim config.js

按下 i 键,进入编辑模式,将 +process.env.OPENSHIFT_APP_DNS 地方的 url 都修改为你的域名,即 http://maplejoyous.cn ,按下 Esc 退出编辑模式,输入 :wq 保存一下

退出 vim 后使用 ctl_all restart 来重启你的应用,等出现 Starting NodeJS cartridge 后,就可以关闭 SSH 了。Ok,大功告成,现在就可以进入后台了 http://www.maplejoyous.cn/ghost/,注册一个账号后就可以编辑你的文章了

参考资料

  1. 新版OpenShift空间申请使用教程:安装WP、域名绑定等
  2. 在Openshift上免费架设Ghost博客并绑定域名、安装主题