VPS配置Git|VPS配置Git Hooks实现hexo博客更新
客户端使用Hexo生成静态文件,通过Git推送到VPS的Git仓库。VPS配置Git Hooks,将静态文件同步到站点目录,实现hexo博客更新。
本机准备工作
- 安装Hexo环境
- 安装Git
- 生成ssh秘钥
安装Git
git --version# 查看系统是否安装git
yum install git# 安装git
yum remove git# 卸载git
新建用户
adduser git
chmod 740 /etc/sudoers
vi /etc/sudoers
在vi编辑器中找到如下行
## Allow root to run any commands anywhere
rootALL=(ALL)ALL
在下面新增一行
gitALL=(ALL)ALL
保存后退出(linux命令 :wq),执行
chmod 440 /etc/sudoers
新建git仓库
su git
cd ~
mkdir .ssh && cd .ssh
touch authorized_keys
vi authorized_keys# 粘贴进本地机器的ssh公钥(一般在C:\Users\用户名\.ssh\id_rsa.pub文件中)
cd ~
mkdir hexo.git && cd hexo.git
git init --bare# 初始化git仓库
ssh连接测试
在
git bash
命令行中输入ssh git@VPS的IP地址
,如果能登录远程主机,则表示Git配置成功赋予git用户对网站目录的权限
cd /var/www/html# apache服务器的网站根目录
mkdir blog# 新建blog文件夹用以放置hexo博客文件
chown git:git -R /var/www/html/blog# 将目录所有者改为git用户
配置Git Hooks
su git
cd /home/git/hexo.git/hooks
touch post-receive#新建脚本文件
vi post-receive
在vi编辑中输入以下代码后保存退出
#!/bin/bash
GIT_REPO=/home/git/hexo.git# git仓库
TMP_GIT_CLONE=/tmp/hexo
PUBLIC_WWW=/var/www/html/blog# 网站目录
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
chmod +x post-receive# 赋予脚本的执行权限
本机配置工作 进入本地hexo博客文件夹,打开站点配置文件
_config.yml
,修改deploy选项deploy:
type: git
repo:
github: git@github.com:ChangingFond/ChangingFond.github.io.git#同步到GitHub
vps: git@vps的ip:hexo.git仓库地址,master#同步到自己的VPS
branch: master
message: Hexo Blog updated - {{ now('YYYY-MM-DD HH:mm:ss') }})
【VPS配置Git|VPS配置Git Hooks实现hexo博客更新】按住shift右击,选择在此处打开命令窗口,运行
hexo g -d
,如果一切正常,静态文件已经被成功的push到了blog的仓库里。至此,我们完成了通过git将hexo博客部署到VPS上的功能。
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- gitlab|Gitlab升级(12.2.1到14.6.4)
- 从战略性的角度可以配置股票
- 缓存有关的配置和属性
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 常用git命令总结
- Vagrant|Vagrant (三) - 网络配置
- java|java b2b2c shop 多用户商城系统源码- config 修改配置
- CentOS7 阿里云镜像配置方法