# 前言
去年 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)
,在后面添加
- name: Deploy Files on Ftp Server | |
uses: SamKirkland/FTP-Deploy-Action@4.3.3 | |
with: | |
server: (FTP服务器地址) | |
username: (FTP用户名) | |
password: (FTP密码) | |
local-dir: ./public/ | |
server-dir: (FTP服务器文件目录) | |
port: (FTP服务器端口,一般是21) |
最后直接将博客源码提交到 github 上就行了。