用 Openshift 环境极速部署 Hexo 站点

Hexo 是个受欢迎的静态网站生成器。用它可以很方便的搭建纯 html 网页的 blog ,而无需用到 PHP 等语言和数据库。

最近发现有好些 CNPaaS 用户在 CNPaaS 上部署了基于 hexo 的博客站点,其中有一位用户就提示过可以用 OpenShift deployer plugin for Hexo 这个插件,很方便地进行部署。相关的方法在 Hexo 官方文档的 Deploy 部分也有提到。

而 CNPaaS 正是基于 Openshift 环境的,所以该方法同样适用。

整个过程连基本的 git 命令都不需要执行,十分方便。

先说说如何用 Hexo 创建网站,过程很简单。

首先是在系统安装好 Node.js 的情况下安装 Hexo :
$ npm install hexo-cli -g
详情请参考 Hexo 官方文档

然后用以下命令创建一个站点:
$ hexo init 目录名
$ cd 目录名
$ npm install

cnpaas-hexo2

写文章的方法是:
$ hexo new 文章名
(更详细的用法请参考这里。)
cnpaas-hexo3
然后用任何文本编辑器编辑用上述命令创建出来的 Markdown 文件(支持 Makrdown 语法):
cnpaas-hexo4
保存后执行:
$ hexo generate
cnpaas-hexo5

这样就在本地生成了一个静态网站。

接下来是在 CNPaaS 上搭建 Hexo 站点的方法:

首先在 CNPaaS 后台创建一个 HTML5 环境的应用:

openshift hexo 1

接着安装 Hexo 的 Openshift 插件:
$ npm install hexo-deployer-openshift --save

然后进入 CNPaaS 后台该应用的详情页:
cnpaas-hexo6
复制 Git 地址的内容。

用编辑器编辑 Hexo 项目根目录里的 “_config.yml” 文件,
cnpaas-hexo7
把 “deploy:” 部分的 “type:” 设为 “type: openshift” ,并在下边加一条:
repo: Git 地址
(如图所示)

保存后执行:
$ hexo deploy
cnpaas-hexo8
即可。

过程中可能会问你关于公钥的事情(会出现 “yes/no” ),敲 “yes” 并回车。

部署成功后会提示:
INFO Deploy done: openshift

进入 CNPaaS 该应用的后台里的 “CNPaaS 网址”,便可看到效果:
cnpaas-hexo9

如果想设定自己的域名,可以参考 CNPaaS 的《使用自定义网址来访问你的应用》这个教程。

该方法当然适用于其他 Openshift 环境。不过在国内想体验 Openshift ,不妨考虑一下 CNPaaS :
http://www.cnpaas.io

FavoriteLoadingAdd to favorites
欢迎给我打赏:
  • http://blog.jamespan.me 潘家邦

    我是直接用hexo的git部署插件来做cnpaas和github的多部署,然后发现cnpaas在部署过程中会重启nginx,而且是比较暴力的重启前端直接返回503那种。你们是因为后端用了容器不方便做优雅重启吗?感觉如果能做到部署时不中断服务应该会好很多

    • lin

      很遺憾,這個問題現在沒法回答你了。我不太了解這個項目的一些技術細節,而目前,這個項目已經終結⋯⋯

    • heartnn

      可以在.openshift/markers里添加hot_deploy空文件,这是openshift的做法,不过cnpaas似乎已挂。