关于 Hexo 本地部署可以参考 官方文档 或另外一篇文章

此处以阿里云ECS 作为例子进行说明(为什么不用轻量腾讯云啥的?没机子咩)。

  1. 首先在本地完成部署;
  2. 服务器配置:
    1. 安装 Git: yum install -y git ,如果安装了就可以跳过
    2. 创建 git 用户用于站点文件同步: useradd git ,可以不设置密码;
    3. 初始化 git 仓库:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 切换到 git 用户
    su git
    # 初始化仓库: 创建一个名称为 hexo.git 的裸仓库,如果看不习惯可以自己修改, --bare 选项用于创建一个裸仓库
    git init --bare ~/hexo.git
    # 创建钩子函数,用户同步之后将站点文件 copy 一份到站点目录
    cd ~/hexo.git/hooks/
    vim post-receive

    git --work-tree=/path/to/webroot --git-dir=/home/git/hexo.git checkout -f

    # 下面是我的配置,仅供参考
    git --work-tree=/data/blog --git-dir=/home/git/hexo checkout -f

    📝 这里要提前把涉及到的目录创建好哦!

  3. 配置 git 用户的 SSH 免密登录,可以参考:待补充
  4. 修改 hexo 站点配置文件 _config.yml:
    1
    2
    3
    4
    deploy:
    - type: git
    repo: git@hexo:/home/git/hexo
    branch: master
  5. 然后就可以部署到服务器了: hexo deploy 。如果失败了,注意看终端中的报错信息,挨个挨个解决,毕竟不能保证每个人都会遇到同样的问题。