使用Git将Hexo部署在服务器
以确保以下情况。
- 已经成功在电脑上部署、安装、使用Hexo创建博客。
- 已有服务器,安装了宝塔面板
- 已经通过SSH密钥成功连接服务器(不推荐用密码)
- 服务器已经安装了Git(可以ssh使用命令
git --version
查看git版本)
如果上面情况没达成,那么需要访问咕咕写的:将Hexo部署到阿里云轻量服务器(保姆级教程)
为什么要通过Git用户来传输?
主要为了安全性。如果你是个人使用的小服务器更在意方便的话,可以跳过git创建和文件授权部分,最后在Hexo的配置中直接使用root帐户进行传输。但是强烈推荐使用自己新建一个Git用户传输,虽然比较麻烦,也容易报错,但是更加安全,保持最小权限原则。
创建git用户
此章节如果你打算使用root用户可跳过
1 | adduser git |
输入两次密码后,信息简单写一下或者不写一路回车,最后发送Y确认一下即可。
授予git的权限
此章节如果你打算使用root用户可跳过
添加git用户权限
1 | chmod 740 /etc/sudoers |
在用户特权规范中添加git用户。
按i进入编辑模式,添加下面的内容。
1 | git ALL=(ALL:ALL) ALL |
然后按 “Esc” 键,此时最底下的—INSERT—消失,再输入 “:wq”,即保存退出。
改回权限
1 | chmod 400 /etc/sudoers |
切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限
1 | su git |
按”i”进入编辑模式,将我们的id_rsa.pub文件中的公钥复制到编辑器中,按”esc”,然后按”:wq”,保存退出。这样就可以免输密码提交Hexo了。
接着,输入一下命令,赋予权限。
测试git
此章节如果你打算使用root用户可跳过
我们使用终端(命令行工具)直接ssh使用git帐户登录一下。
1 | ssh git@192.168.1.1 |
ip地址换成你的服务器ip
登录成功的过程中不需要输入密码,我们就成功了。
创建仓库
切换到root帐户
1 | sudo su root |
在你需要放入仓库的地址创建一个repo文件夹。例如/www/wwwroot/blog.zhheo.com
。
1 | mkdir /www/wwwroot/blog.zhheo.com/repo |
赋予权限(如果你使用root帐户可跳过):
1 | chown -R git:git /www/wwwroot/blog.zhheo.com/repo |
接下来创建hexo目录作为网站根目录:
1 | mkdir /www/wwwroot/blog.zhheo.com/hexo |
赋予权限(如果你使用root帐户可跳过):
1 | chown -R git:git /www/wwwroot/blog.zhheo.com/hexo |
接下来创建一个空白的git仓库
1 | cd /www/wwwroot/blog.zhheo.com/repo |
创建一个新的 Git 钩子,用于自动部署.
在 /var/repo/hexo.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。
1 | vim /www/wwwroot/blog.zhheo.com/repo/hexo.git/hooks/post-receive |
进入编辑模式,然后将下面那两行代码粘贴进去,保存退出。
1 | !/bin/bash |
修改权限(如果你使用root帐户可跳过):
1 | chown -R git:git /www/wwwroot/blog.zhheo.com/repo/hexo.git/hooks/post-receive |
到这里Git仓库已经搭建完毕了。
宝塔部分
创建一个网站,然后网站目录设置成/var/hexo
即可。
修改本地Hexo配置
进入本地电脑hexo博客的根目录,编辑站点配置文件 _config.yml,找到deploy,修改成以下
1 | deploy: |
提交你的网站
在本地提交hexo
1 | hexo clean |
- 感谢你赐予我前进的力量