Hexo作为一个静态博客系统,一般都是部署到Github或Coding等平台,零成本就能搭建起一个博客,利用插件就可以直接推送到Github,但是如果利用这个插件推送到自己的服务器就需要折腾一下了
在服务器上建立远程仓库
需要在服务器上建立一个中心仓库,本地生成的静态文件会推送到这个仓库
首先需要安装git,pacman -S git
即可
建立一个文件夹来保存仓库
cd /home
mkdir git
为了安全,需要新建一个用户git并禁用shell权限来管理仓库,由于Archlinux自动建立好了我也就不赘述了,只需要更改一下用户的主目录即可,usermod -d /home/git -m git
建立一个空仓库
git init --bare /home/git/hexo.git
由于中心仓库是无法直接看到代码的,所以需要再clone一遍仓库才能看到推送上来的静态文件
git clone /home/git/hexo.git
为了方便也可以设置用公钥登录,免得每次都要输密码
设置远程仓库的hooks
git的服务端有个hook可以在收到推送之后执行一个脚本,可以利用这个来自动更新静态文件
编辑/home/git/hexo.git/hooks/post-receive
,没有就新建一个,加入以下内容
#!/usr/bin/bash
unset GIT_DIR
cd /home/git/hexo
git pull
赋予执行权限
chmod +x /home/git/hexo.git/hooks/post-receive
最后更改所有者,避免权限问题
chown git:git -R /home/git
这样在客户端推送更新到服务器时就会自动拉取新的静态文件
配置Nginx
建立软连接
ln -s /home/git/hexo /srv/http/hexo
将Nginx虚拟主机的的根目录设置为/srv/http/hexo
即可
本地Hexo配置
编辑Hexo的_config.yml
配置文件,修改为
deploy:
type: git
repo: git@yooomu.com:/home/git/hexo.git
branch: master
注意把域名(或IP)修改为自己的
这样本地执行hexo d
就会触发自动部署流程
wordpress路过瑟瑟发抖
怎么?你也想用hexo啦? ∠( ᐛ 」∠)_
尝试了一下,发现评论系统不好搞就放弃了
是的,目前我是用valine,但感觉如果后端leancloud一倒闭我岂不是凉凉,其实还是有点想用github lssue的那个评论系统