Waylon Wang

使用本地+GitHub+VPS方式部署HEXO

有 N 人看过

基于HEXO的Blog搭建

| 早期我曾经使用过HEXO搭建博客,但不常更新导致了后来已经忘记到底如何去更新文章了,然后就成了一个废弃的博客,所以这次搭建我选择了一个大佬写的可视化管理HEXO的工具来做后台管理,主题选择的是Aomori

可视化管理:https://winwin_2011.gitee.io/

主题:https://linhong.me/

运作模式

本地→GitHub→阿里云VPS服务器

本地部分: 本地创建HEXO库→修改主题等配置→将整个HEXO文件夹上传GitHub仓库

GitHub: 托管HEXO工程文件夹,包括静态文件夹public

阿里云VPS服务器: 从GitHub Clone下工程内public文件夹→使用nginx配置网站根目录到public文件夹→域名解析&配置SSL证书→🎉完工

| 整个HEXO文件夹内只有public文件夹是服务器部署需要的,因为这里是HEXO生成的静态网页存放的地方,上传GitHub时记得修改.gitignore文件,因为默认是不上传public文件夹的

Why GitHub?

这里我选择GitHub做hexo git托管平台而不是网上教程里常见的在服务器使用私有仓库+git hook的方式直接deploy是因为我有不止一台电脑去写blog,比如我可能在使用MacBook的时候想写一篇,用Manjaro又想写一篇,用Windows的时候又想写一篇吐槽一下微软,这时候如果用官方教程里的方式就比较难以实现“多端同步”写blog,因此选择了较为繁琐的折中方案,后续我会在服务器设置git hook实现类似CICD的效果。

| 参考资料:https://www.cnblogs.com/300js/p/12767431.html

失败的尝试

本来尝试了将public文件夹单独作为一个git项目上传GitHub,但是每次运行hexo clean的时候public文件夹会删除,然后在运行hexo g的时候重建,因此git仓库也会随之消失。

HEXO 常见命令

# 新建文件
hexo new "文章名"
# 生成静态文件
hexo g (-d) # -d是deploy,推送到git仓库
# 清理
# 如果要删除某文章,先删除md文档,然后运行以下命令
hexo clean