基于git的hexo多服务端部署-GitHub-服务器

思路:GitHub的部署就不多赘述,相信大家都是会的,那么我们如果在服务器建立一个git仓的话,类比GitHub仓我们就可以通过hexo命令进行双端的同时部署。

参考:https://cloud.tencent.com/developer/article/1632020?from=15425

git的安装及配置

相信这个不用赘述了

服务器的git仓建立

  • 首先需要一个仓库文件夹mkdir blog

  • blog文件夹下初始化位裸露的git仓库git init --bare blog.git

  • 创建hook函数

    • 进入hook文件夹cd blog.git/hooks

    • 新建脚本vi post-receive

    • 编辑以下代码

      1
      2
      #!/bin/sh
      git --work-tree=***/blog --git-dir=***/blog.git checkout -f
    • 脚本提权chmod +x post-receive

创建ssh

  • 在服务器的~/.ssh/authorized_keys中添加自己电脑的公钥

  • 自己电脑执行指令ssh-copy-id -i ***/.ssh/id_rsa.pub root@服务器ip

  • 测试连接ssh root@服务器ip,不需要输入密码连接成功即为配置成功

nginx配置

  • 安装略

  • find / -name nginx.conf找到nginx配置文件,进行编辑

    • user更改为root

    • server_name更改为自己的域名,或者不更改

    • root更改为的blog的位置

  • 重载nginx配置nginx -s reload

hexo配置

  • 打开根目录下的_config.yml

    • deploy部分按照以下方式书写

      1
      2
      3
      4
      5
      6
      deploy:
      type: git
      repo:
      github: git@github.com:自己的github仓库
      Alibaba: root@服务器ip:***/blog.git
      branch: master

至此执行hexo d可进行多服务端部署

难免写错,欢迎指出问题

qq:980987346

邮箱:980987346@qq.com