相关文章推荐
傻傻的作业本  ·  root.destroy()和root.qu ...·  11 月前    · 
憨厚的仙人掌  ·  where to find ...·  1 年前    · 
小眼睛的苹果  ·  es6 Map 数据结构 - 掘金·  1 年前    · 

为什么使用RailWay部署

本来想着使用Vercel看能不能部署的,但是Vercel自动改名后同时也不再支持docker部署了,因此转战转变试试RailWay。

通过官方文档知道,RailWay支持多种部署方式,如Nodejs、Go、Docker、Java等等,详情可见 docs.railway.app/ ,那么既然支持Docker,Halo也支持docker部署,那自然RailWay肯定是支持部署Halo的,在网上查了很多,也没有找到有人使用RailWay部署Halo的,因此总结一下写了这篇文章。为什么要使用RailWay部署呢?我试过以下几种方式,但都是有所弊端:

  • Nas + Docker + DDNS 我本来在自己家里的Nas上使用了Docker部署了Halo,但是移动的宽带不给公网IP,所以只能自己做内网穿透,用了frp和ddnsto,frp需要一个VPS做中转,虽然有个腾讯云的服务器,但是总感觉有些麻烦,ddnsto是买了一个 www.ddnsto.com/ 的服务,但是这个绑定后时隔一段时间需要验证登陆才能访问,因为需要使用halo提供的接口在小程序中获取数据,一旦这个时间过了,小程序的接口就无法调通了,所以这个方式pass了;
  • 腾讯云云平台 Halo也支持在腾讯云云平台的部署,访问速度也不错,部署也很方便,云平台的费用也还ok,但是!!自定义的域名一直绑定不了,问了客服提了工单,按照他们说的依然没法绑定...所以只能用云平台自己提供的域名。有人知道怎么解决的话,可以告诉我一声。。
  • 因为域名无法绑定,所以暂时先放弃了使用云平台的方式,于是又在VPS上装了docker,也能够正常的访问,但是毕竟VPS会到期的,后续续费又比较贵,所以只能试试,如果有便宜的VPS的话还是这种方式比较好的;
  • RailWay RailWay部署,一键自动部署,支持自定义域名,免费https,每个月$5的免费额度,对于个人来说基本够用了;
  • fork halo fork halo官方项目到自己的github中,Halo地址: github.com/halo-dev/ha…

    在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,就可以访问啦!比如我的访问地址是: halo.wangboweb.site

    为什么要使用halo?   halo类似于轻量版的wordpress,我之前一直想自己做个博客管理后台,但是一直各种事情导致只做了一半,halo的管理系统可以导入之前hexo上写好的markdown文件,且所有的标签和分类也会自动生成,评论系统也支持的很好,最重要的一点是它提供了API访问方式,之前在hexo中需要在小程序使用博客的数据的时候,需要在hexo中使用hexo-restful的那个包,并且也没有鉴权。halo中提供了对外的API接口,并且可以设置鉴权,只需要在设置-高级选项中开启即可。

    另外,结合开源项目 gitee.com/fuzui/GBlog… ,可以快速的生成一个自己的小程序博客,简直方便至极。

    halo上面的配置方式也比较方便,虽然主题不是很多,但是像Wordpress一样,也可以自己去自定义,其实也还不错的!

    至此,在RailWay上部署halo博客系统就完成啦,又想法的朋友可以自己去试试啦!再结合上上面说的小程序项目,希望大家能够做一个自己的博客系统+博客小程序!

  • 在 React Router 中使用 JWT
  • 为什么很多公司都开始使用Go语言了?
  • 复盘:前端岗位的寒冬,用这3点进行自救
  • 手把手教你注册和使用ChatGPT
  • ChatGPT保姆级教程,一分钟学会使用ChatGPT!
  • 放弃 console.log 吧!用 Debugger 你能读懂各种源码
  •