前言
Halo 是一款 CMS 博客零碎,能够说是轻量版的 Wordpress,基于 xxxx,巴拉巴拉,算了你们本人看官网文档吧。
-
应用 RailWay 部署 Halo CMS 博客零碎
- 官网部署
- 为什么应用 RailWay 部署
- 部署
- 拜访
- 其余
- 总结
官网部署
官网反对多种状况部署,linux、docker、腾讯云平台三种形式:
- https://halo.run/#quickstart
- https://docs.halo.run
为什么应用 RailWay 部署
原本想着应用 Vercel 看能不能部署的,然而 Vercel 主动改名后同时也不再反对 docker 部署了,因而转战转变试试 RailWay。
通过官网文档晓得,RailWay 反对多种部署形式,如 Nodejs、Go、Docker、Java 等等,详情可见 https://docs.railway.app/,那么既然反对 Docker,Halo 也反对 docker 部署,那天然 RailWay 必定是反对部署 Halo 的,在网上查了很多,也没有找到有人应用 RailWay 部署 Halo 的,因而总结一下写了这篇文章。为什么要应用 RailWay 部署呢?我试过以下几种形式,但都是有所弊病;
- Nas + Docker + DDNS
我原本在本人家里的 Nas 上应用了 Docker 部署了 Halo,然而挪动的宽带不给公网 IP,所以只能本人做内网穿透,用了 frp 和 ddnsto,frp 须要一个 VPS 做直达,尽管有个腾讯云的服务器,然而总感觉有些麻烦,ddnsto 是买了一个 https://www.ddnsto.com/ 的服务,然而这个绑定后时隔一段时间须要验证登陆能力拜访,因为须要应用 halo 提供的接口在小程序中获取数据,一旦这个工夫过了,小程序的接口就无奈调通了,所以这个形式 pass 了; - 腾讯云云平台
Halo 也反对在腾讯云云平台的部署,访问速度也不错,部署也很不便,云平台的费用也还 ok,然而!!自定义的域名始终绑定不了,问了客服提了工单,依照他们说的仍然没法绑定 … 所以只能用云平台本人提供的域名。有人晓得怎么解决的话,能够通知我一声。。 - VPS
因为域名无奈绑定,所以临时先放弃了应用云平台的形式,于是又在 VPS 上装了 docker,也可能失常的拜访,然而毕竟 VPS 会到期的,后续续费又比拟贵,所以只能试试,如果有便宜的 VPS 的话还是这种形式比拟好的; - RailWay
RailWay 部署,一键主动部署,反对自定义域名,收费 https,每个月 $5 的收费额度,对于集体来说根本够用了;
部署
- fork halo
fork halo 官网我的项目到本人的 github 中,Halo 地址:https://github.com/halo-dev/halo - 在 RailWay 中导入曾经 fork 的 Halo 我的项目,抉择 Deploy from Github repo,找到 fork 的我的项目,点击开始部署
- 默认第一次部署不会报错,然而部署实现后会打不开,因为没有设置环境变量,没有配置 dockerfile,所以是无法访问的。
- 设置环境变量:关上我的项目在 Variables 中设置两个环境变量,一个是 Dockerfile 的门路,一个是拜访的端口,因为 halo 中的 Dockerfile 是放在根目录的,因而这里间接写 Dockerfile 就好了,PORT 必须是 8090,因为 halo 中的镜像曾经指定了端口
- 设置好后,RailWay 会主动进行部署,你会发现又呈现部署失败了,通过查看日志发现,是 Dockerfile 中须要获取 build/libs 上面的 jar 文件,因为官网说反对 java 间接部署,其实也是间接部署的 jar 包,所以这里 lib 下的其实也就是要部署的那个 jar 包; 通过查看 Halo 的我的项目源码,发现我的项目中将 build 文件夹加了 gitignore,所以这里必定找不到,我的解决方案是在仓库中下载了最新的 jar 包,并将其放在了 build/libs 文件夹上面,再将这个 jar 文件提交到 github 下面,就能够部署胜利了
- 所以再换种思路,既然只须要 Dockerfile 和 jar 包,那是不是我仓库中间接只留着这两个文件就好了,事实证明,是 ok 的;
- 再换种思路,Halo 反对 java 部署,RailWay 也反对 Java 部署,那是不是不必上传 jar 包了,间接部署 halo 的整个工程项目就好了,实践上也是能够的!然而我不会配置 Java,所以大家能够自行尝试哈!
拜访
部署实现之后,在 settings 中设置一个自定义的域名,配置一下 CNAME,就能够拜访啦!比方我的拜访地址是:https://halo.wangboweb.site
其余
-
为什么要应用 halo?
halo 相似于轻量版的 wordpress,我之前始终想本人做个博客治理后盾,然而始终各种事件导致只做了一半,halo 的管理系统能够导入之前 hexo 上写好的 markdown 文件,且所有的标签和分类也会主动生成,评论零碎也反对的很好,最重要的一点是它提供了 API 拜访形式,之前在 hexo 中须要在小程序应用博客的数据的时候,须要在 hexo 中应用 hexo-restful 的那个包,并且也没有鉴权。halo 中提供了对外的 API 接口,并且能够设置鉴权,只须要在设置 - 高级选项中开启即可。另外,联合开源我的项目 https://gitee.com/fuzui/GBlog-wx,能够疾速的生成一个本人的小程序博客,几乎不便至极。
halo 下面的配置形式也比拟不便,尽管主题不是很多,然而像 Wordpress 一样,也能够本人去自定义,其实也还不错的!
总结
至此,在 RailWay 上部署 halo 博客零碎就实现啦,又想法的敌人能够本人去试试啦!再联合上下面说的小程序我的项目,心愿大家可能做一个本人的博客零碎 + 博客小程序!