使用RailWay部署Halo CMS博客系统

前言

  Halo是一款CMS博客系统,可以说是轻量版的Wordpress,基于xxxx,巴拉巴拉,算了你们自己看官方文档吧。

官方部署

  官方支持多种情况部署,linux、docker、腾讯云平台三种方式:

为什么使用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的项目,点击开始部署


    image.png
  • 默认第一次部署不会报错,但是部署完成后会打不开,因为没有设置环境变量,没有配置dockerfile,所以是无法访问的。

  • 设置环境变量:打开项目在Variables中设置两个环境变量,一个是Dockerfile的路径,一个是访问的端口,因为halo中的Dockerfile是放在根目录的,因此这里直接写Dockerfile就好了,PORT必须是8090,因为halo中的镜像已经指定了端口


    image.png
  • 设置好后,RailWay会自动进行部署,你会发现又出现部署失败了,通过查看日志发现,是Dockerfile中需要获取build/libs下面的jar文件,因为官方说支持java直接部署,其实也是直接部署的jar包,所以这里lib下的其实也就是要部署的那个jar包;通过查看Halo的项目源码,发现项目中将build文件夹加了gitignore,所以这里肯定找不到,我的解决方案是在仓库中下载了最新的jar包,并将其放在了build/libs文件夹下面,再将这个jar文件提交到github上面,就可以部署成功了

    image.png

  • 所以再换种思路,既然只需要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接口,并且可以设置鉴权,只需要在设置-高级选项中开启即可。


    image.png

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

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

总结

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354