Hexo自动部署至虚拟主机
前言
去年618我在西部数码一次性买了五年的云虚拟主机,当时好像才两三百块钱。云虚拟主机买来主要是用来挂备案的,想着小厂备案可能查得不严。刚开始还好,博客也部署在华为云服务器上,可能域名指向的是国内,也确实没查过备案。
今年6月份华为云到期了没续费,刚好我人也在国外,本着能省则省的原则,就把博客部署到Netlify了。结果还不到一个月,西数就发邮件来说检测到域名指向了其他IP地址。
最后没办法,就只能把这个云虚机用起来,域名分开解析,国内解析到这台虚机,国外解析到Netlify。
但是这样问题也来了,Netlify还好说,只需要部署至GITHUB就好了;可是虚拟主机就不方便了,网上都是说安装 hexo-deployer-ftpsync 插件,但在部署的时候一直报错,上传不了,只能自己手动FTP上传了。
后来了解到有个东西叫做 FTP-Deploy-Action ,可以通过 GitHub Action 自动将博客部署到虚拟主机,简直不要太方便,甚至还可以通过 GitHub Action 同时部署到 Github Pages 和虚拟主机。
前提条件
一、需要使用虚拟主机部署Hexo博客
二、Hexo博客能正常部署访问
如果还没有Hexo博客或者不会搭建Hexo博客的话,可以看看下面两篇文章:
三、Hexo博客可以通过 GitHub Action 部署到 Github Pages
如果还没有配置好 GitHub Action 的话,可以看看这篇文章 使用Github Action实现全自动部署 。
另外,在将本地文件备份至 Github 的过程中,可能会出现主题文件夹是空文件夹的情况,这样通过 GitHub Action 部署后博客打开会白屏没有任何样式。解决办法可以看看这里 Hexo主题themes-文件夹无法提交到GitHub的解决方法 。
配置 GitHub Action
打开 Action 配置文件(本地博客仓库目录/.github/workflows/(Action配置文件).yml)
,在后面添加
1 | - name: Deploy Files on Ftp Server |
最后直接将博客源码提交到github上就行了。