hexo nginx git 部署到远程服务器

主机端

  1. 安装 hexo, 安装 ssh

  2. _config.yaml

    deploy:
    - type: git
    repo: {git repo}
    branch: master
    - type: git
    repo: root@{ip}:/home/repo/blog.git
    branch: master

  3. ssh-keygen, 获得本地密钥 id_rsa.pub

远程服务器

  1. 打开端口 80 (远程控制面板)

  2. 新建网站内容目录

    1. /home/www/blog

    2.    chown -R $USER:$USER /var/www/hexo
         chmod -R 755 /var/www/hexo

      -R 递归更改权限

  3. 安装 nginx

    1. systemctl start nginx nginx -s reload
    2. vi /etx/nginx/site-available/default 将 root 字段改为网站内容目录
  4. git

    1. 创建 git 仓库

      cd /home/repo

      git init --bare blog.git

    2. 增加脚本文件, 将仓库内容同步到网站内容目录

      vi /home/repo/blog.git/hooks/post-receive

      增加内容

      git --work-tree=/home/www/blog --git-dir=/home/repo/blog.git checkout -f

  5. 增加 ssh 免密登录

    1. 将本地的id_rsa.pub内容复制到 ~/.ssh/authorized_keys
    2. ssh -v git@云服务器的公网IP测试是否需要密码(应该是不需要)