发布于 

Hexo 通过 git + 阿里云服务器搭建的静态博客

1
yum install git
1
adduser git
1
chmod 740 /etc/sudoers
1
vim /etc/sudoers

git ALL=(ALL) ALL

1
chmod 400 /etc/sudoers
1
sudo passwd git

输入密码,输入的时候是看不到任何显示的,输完回车即可。

切换至 git 用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

同样i进入编辑模式,把之前本地准备的id_rsa.pub文件中的公钥复制进去,按esc后,输入:wq保存。(注意!!! 最后一行要加回车)

更改权限:

chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh

本地测试:

ssh -v git@服务器ip地址或域名
1
不用输密码就成了。

1
mkdir /home/git/repo
  1. 切换到 root 用户:

    1
    sudo su root
  2. 进入 /home/git/repo 目录并创建一个空白的 Git 仓库:

    1
    2
    cd /home/git/repo
    git init --bare hexo.git
  3. 编辑 post-receive 钩子文件:

    1
    vim /home/git/repo/hexo.git/hooks/post-receive
  4. 在编辑模式下,添加以下代码,并保存退出:

    1
    2
    #!/bin/bash
    git --work-tree=/www/wwwroot/nginx网站目录 --git-dir=/home/git/repo/hexo.git checkout -f
  5. 更改钩子文件的所有者和权限:

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

cd /home/git
chown -R git:git repo/
chown -R git:git /www/wwwroot/nginx网站目录