目录
前言
将Hexo部署至服务器,记录部署过程
一、git安装
- 安装git
yum install git
- 查看git版本(验证是否安装成功)
git version
二、git配置
- 添加git用户
adduser git
- 改写权限
chmod 740 /etc/sudoers
- 权限配置
vim /etc/sudoers
- 按
i
键进入文件的编辑模式,按方向下键找到找到root下添加以下信息
git ALL=(ALL) ALL
- 按 esc 键退出编辑模式,输入 :wq 回车 保存退出
- 改回权限
chmod 400 /etc/sudoers
- 设置git账号的密码(按提示输入密码即可,密码是不显示的)
sudo passwd git
- 切换git用户
su git
- 创建 .ssh 文件夹
mkdir ~/.ssh
- 创建并编辑 authorized_keys 文件,将你本地git的SSH密钥复制粘贴进去( 按
i
键进入文件的编辑模式,将密钥粘贴进去,再按 esc 键退出编辑模式,输入 :wq 回车 保存退出)
vim ~/.ssh/authorized_keys
- 不知道密钥在哪,看这篇文章: git查看密钥、生成密钥
- 赋予权限
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
- 测试本地连接服务器
ssh -v git@ip地址
- 如图就证明本地连通服务器了
三、创建git仓库
- 切换到root用户
su root
- 创建用于存储网站的根目录
mkdir /home/hexo
- 赋予权限
chown git:git -R /home/hexo
- 新建并初始化一个git仓库
cd /home/git
git init --bare blog.git
- 修改权限
chown git:git -R blog.git
- 在
/home/hexo/blog.git
下,有一个自动生成的hooks
文件夹,我们在该文件夹下新建一个新的钩子文件 post-receive ,用于自动部署
vim blog.git/hooks/post-receive
- 按
i
键进入文件的编辑模式,添加下面两行代码,用于指定git执行目录
#!/bin/bash
git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
- 按 esc 键退出编辑模式,输入 :wq 回车 保存退出
- 修改文件权限,让这个钩子文件可执行
chmod +x /home/git/blog.git/hooks/post-receive
四、配置本地Hexo,构建至服务器
- 本地打开hexo根目录中_config.yml文件,进行相关配置
- 打开_config.yml文件,具体配置在文件内最底部
deploy:
type: git
#git@ip地址(或域名):/仓库地址
repo: git@xxxx:/home/git/blog.git
#分支
branch: master
- 配置如图
五、部署
- 清理缓存
hexo clean
- 构建部署
hexo g -d
- 执行完命令,会提示输入服务器密码,输入完密码 回车 如下图就说明成功了
- 如果构建部署报错:ERROR Deployer not found: git ,看这篇文章:解决Hexo构建部署报错
- 配置已完成,配合nginx访问看看有没有成功