Catalogue
远端工作(Nginx 服务器)
环境准备
安装 git
工具:
1 | yum install git # RH系 |
准备博客部署用户:
1 | adduser hexo # 创建用户 |
在博客部署用户目录下创建仓库及博客目录:
1 | git init --bare hexo.git # 创建博客仓库 |
如果使用 root
用户进行的上诉操作,则需设置如下权限:
1 | chown -R hexo:hexo /home/hexo |
设置自动部署(hook)
进入 ~/hexo.git/hooks
目录,根据示例创建 post-update
文件:
1 | cd /home/hexo/hexo.git/hooks |
编辑创建好的 post-update
文件,按如下示例添加一行至原最后一行之前:
1 | git --work-tree=/home/hexo/blog --git-dir=/home/hexo/hexo.git checkout -f # 添加此行 |
配置 Nginx
根据情况编辑 Nginx 配置文件,一般为 /etc/nginx/nginx.conf
:
1 | root /home/hexo/blog; |
重启 Nginx 服务:
1 | service nginx restart # 或: |
本地工作(Hexo 发布端)
配置部署信息
修改 Hexo 根目录下的 _config.yml
文件,根据情况选择以下两种方法之一 (repo_git 或 repo_ssh):
1 | deploy: |
设置自动登录
为避免每次部署时输入密码,需进行如下操作。创建公钥,根据需要替换邮箱:
1 | ssh-keygen -o -t rsa -b 4096 -C "email@example.com" |
复制生成的公钥内容,一般位于 ~/.ssh/id_rsa.pub
,添加至远端的 ~/.ssh/authorized_keys
文件内:
1 | vi /home/hexo/.ssh/authorized_keys # 没有则创建 |
部署测试
在 Hexo 目录编译并部署至远端仓库:
1 | hexo clean && hexo g -d |
注意:提示完成后检查
/home/hexo/blog
目录下是否存在博客文件,若没有,着重检查 hook 设置,或尝试提交一次更改。