更新于 

Hexo 部署

配置 Hexo 自动部署

服务器切换到 git 账号

创建 hexo 目录作为网站目录

1
2
3
sudo mkdir /var/hexo
chown -R git:git /var/hexo
chmod -R 755 /var/hexo

创建 hexo git 仓库,并创建空仓库,本地 hexo 推送博客到这里来

1
2
3
4
5
6
7
mkdir /home/git/repo

chmod -R 755 /home/git/repo
# 若使用 root 账号创建,则需把仓库用户和用户组设置为 git
chown -R git:git /home/git/repo
# 创建空仓库
git init --bare hexo.git

创建钩子:vim /home/git/repo/hexo.git/hooks/post-receive

填入如下内容,用于自动部署。当本地 hexo 推送文件到 repo 时,git 自动把仓库中的文件推送到网站目录 (/var/hexo 目录)

1
2
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/home/git/repo/hexo.git checkout -f

修改钩子权限

1
2
chown -R git:git /home/git/repo/hexo.git/hooks/post-receive
chmod +x /home/git/repo/hexo.git/hooks/post-receive

配置 Nginx

配置域名解析到目标服务器,新建 NG 配置,root 为 /var/hexo,此处不赘述。

修改本地 Hexo 配置

编辑本地电脑中 Hexo 博客根目录中的 _config.yml文件,把 deploy属性修改如下:

1
2
3
4
deploy:
type: git
repo: git@domain.com:/home/git/repo/hexo.git
branch: master

若首次执行 Hexo 部署,需要安装hexo-deployer-git插件,在本地博客目录下执行:

1
npm install hexo-deployer-git --save

执行以下命令,把本地 Hexo 博客推送到服务器:

1
2
hexo clean
hexo d -g