Hexo 是一个快速、简洁且高效的静态博客框架,一般情况下,我们可以很方便地将 Hexo 站点部署到 Github Pages 等托管平台,如果你有一台 VPS 服务器,可按照下面的方法将站点自动部署到自己的服务器中。
准备工作
服务器环境:CentOS Linux / Nginx / Git
本地环境:Node.js / Hexo / hexo-cli / Git
创建仓库
在服务器上使用 --bare 参数创建裸仓库:
1 | mkdir site.git |
Hexo 配置
修改本地站点目录下的 _config.yml 中的部署配置:
1 | deploy: |
自动部署
本地的 deploy 命令将静态文件提交到 Git 仓库时,触发 git hook,执行设定好的 bash 命令将文件拷贝到站点目录。
首先,进入到 Git 仓库的 Hooks 目录,并创建钩子 post-receive:
1 | cd site.git/hooks |
然后,输入下面的脚本:
1 |
|
上述脚本的目的为先将文件拉到临时目录 /tmp/site,然后再将所有文件拷贝到站点目录 /www/site。
注意这里需要注意相关文件的权限问题!
运行
完成上述操作后,就可以测试一下了,运行以下命令:
1 | hexo clean && hexo d |
如果最后输出以下结果就说明部署成功了:
1 | ... |