这个是拿来准确的说是让自己看的,因为我的二级站是hexo本地的嘛,那么要部署到服务器上,操作流程还是不太熟悉,看了一些大佬的,加深记忆,但还是需要 写下来,毕竟自己的才更容易理解
相关推荐
https://blog.leonus.cn/2022/hexodeployer.html
https://cloud.tencent.com/developer/article/1823096
细节部分不过多说,这个教程只针对hexo主题的服务端部署,望周知!!
操作
由于起初你已经使用git拉取本地项目部署到github上面了 ,你也已经绑定了公钥至github,此处你需要先将 本地公钥 写入服务端.ssh/authorized_keys上面
你的本地生成的公钥具体位于c盘/用户/用户名/.ssh
使用记事本打开, 全部复制到服务端/root/.ssh/authorized.keys内,涉及隐私不展示
cd 进入工作目录,输入以下内容初始化 hexo项目
git init --bare blog.git (可改项目名,不熟悉git命令建议照搬)
创建钩子
在 blog.git/hooks 文件夹下创建一个 post-receive 钩子,原理是本地端上传到此钩子内,钩子会将文件同步到你指定的目录下
cd blog.git/hooks
vim post-receive
输入以下内容并保存,请注意,博客根目录,不是www根目录,更不是服务端根目录!!
git --work-tree=你的博客根目录 --git-dir=/root/blog.git checkout -f
为钩子文件添加执行权限‘x’
chmod +x /root/blog.git/hooks/post-receive
打开你的hexo编译器,进入hexo的主题文件夹配置,不是主题文件夹配置!!,具体叫做‘_config.yml’文件,修改deploy变量,具体为
deploy:
type: git
repo:
site: ssh://root@ip:22/root/blog.git ##因为ssh默认端口为22,若你改了请自行更改,此处更改为你的服务器ip即可
branch: main ##若你发现并没有推送成功或者过慢,请在main支线 和master主线之间更改
最后,终端输入以下内容进行推送即可
hexo cl; hexo d;
注意
还需要注意的是,请注意你的云储存机支不支持内网ssh= =,我用的阿里云,好像并不支持学校内网ssh远程连接,若你出现以下情况,八成是网络问题,你可以尝试更换其他网络
出现上图情况,你可以先cmd 主机命令行远程连接一下 你的实例,再使用其他远程连接工具连接一下,若可以,则是你的hexo配置问题,若都连不上,八成网络问题,换个网络,最好不要内网