概述:本文主要讲述hexo搭建完成后,使用GithubPage和阿里云虚拟主机部署网站过程中碰到的问题。耗时1整天调试ftpsync及git方式,完成roloop搭建。
简介
之所以选择hexo进行建站,供参考,大致原因如下:
- 撰写一些公开文章,不涉及隐私相关内容;
- 使用markdown进行编写,注重文章内容;
- 利用自己域名,不想依托其他内容平台。
基础教程可以google其他文章,教程大多已经比较详尽,此文章主要概要说一下踩到的几个坑。如有时间也会将基础教程也补充,先留坑。
环境
环境基础搭建,google比较多。
- MAC电脑,可能与WIN电脑设置有所不同
- Github账号一枚
- Homebrew套件管理器(非必须)
- Node.js环境
- Git环境
- Hexo安装完成
框架
暂时未选择图床,不好贴图,先文字描述一下我选择的“双活”方案。
- 本地生成静态资源(在public文件夹下)
- 通过git推送到GithubPage(repo名应为username.github.io)
- 通过ftpsync推送到阿里云虚拟主机ftp(1年6元)
- 通过username.github.io访问Github
- 通过自己购买的域名访问ftp对应的虚拟主机地址
主题
选择了NexT主题,暂未完成配置,留坑。
第一活:GithubPage
用自己github的账号替代下文中的username
- Github账号一枚,并创建一个
username.github.io
的repo(参考官方文档,严格执行) - 本地安装Git,配置SSH key
使用git进行推送,网址为username.github.io。
建站方便,但由于国内访问速度慢,所以使用github进行版本管理。
_config.yml配置
1 | type: git |
第二活:阿里云虚拟主机
开启ftpsync的verbose模式看到,原来这货是先取出远端的目录文件,再与本地的目录文件对比,然后将差异计算出来,最后执行相关的同步。
注意项
ftpsync是把ftp的服务端目录和文件调整成本地一模一样,也就是原来服务器上的文件如果本地没有话是会被删除掉的。(这里体现了双活的必要)
注意ignore相关语法,阿里云主机中logreport
无权限删除
使用ftp进行管理
1 | type: ftpsync |
部署到双活
注意项
多个type前方需加-
,否则会报错。
1 | - type: git |
部署语句如下,看到多个deploy done了之后,就ok了。
1 | hexo clean |
Hexo常用命令
1 | hexo init //在指定目录执行该命令,会将当前目录初始化为hexo站点,生成hexo站点所需的一切文件 |
附录
- 出错先排除各种原因,找到原因关键(例如先使用原始主题、手工ftp上传public)
- 查看系统各类报错
- 出问题先
hexo s
,查看本地是否正常