前言
2021年03月27日重新更新此篇文章,至于为什么,大概因为昨天晚上vercel网络出现了波动,导致我的cdn无法进行回源,最终导致博客打不开。因此决定将博客同时部署到服务器做cdn的回源途径。多一份部署多一份保障🤭
快速开始
全程图文预警
上一次部署使用的方式是宿主机安装nginx开启静态服务器的方式,这次为了方便,决定使用
docker
+docker-compose
的方式进行安装nginx。
{% note warning flat %}
本次教程使用的服务器环境为阿里轻量云+CentOS 7.6
{% endnote %}
安装git(如果有则不需要安装)
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y
yum install -y git
安装完成后通过git --version
命令即可查看git当前版本,即代表成功。
创建裸露仓库
// 创建用户
useradd git
// 设置密码
passwd git
// 切换用户
su git
// 进入git用户的家目录
cd /home/git/
// 项目存在的真实目录(当然你可以创建在其他地方)
mkdir -p projects/hexo_blog
// 创建文件夹
mkdir repos && cd repos
// 创建一个裸露的仓库
git init --bare hexo_blog.git
写入钩子
cd hexo_blog.git/hooks
// 创建 hook 钩子函数,输入了内容如下
vi post-receive
输入以下的命令
#!/bin/sh
git --work-tree=/home/git/projects/hexo_blog --git-dir=/home/git/repos/hexo_blog.git checkout -f
写入后添加可执行权限
// 为刚才的文件添加可执行的权限
chmod +x post-receive
// 退出到 root 登录
exit
// 添加权限
chown -R git:git /home/git/repos/hexo_blog.git
测试能否正常clone
在自己电脑上找一个空的文件夹输入如下命令:
git clone git@server_ip:/home/git/repos/hexo_blog.git