可能是因为本人实在太闲了,就想建个博客玩玩

之前完全没接触过,一开始在各个框架之间犹豫,想起来之前有朋友是用hugo建站的,于是就先试了试hugo

查了查资料,发现hugo只负责生成静态页面,生成完直接push到服务器就可以了,本身运行在哪里并不重要

于是直接wsl启动,照着文档apt install之后进行一些简单的初始化就好 Debian yyds!!!

至于为什么不用docker一键部署,主要还是习惯了裸机运行,懒得学习新东西(这里给自己挖了个大坑,后文再说)

按好hugo就去看主题去了,发现了个叫blowfish的主题很好看(后面发现这个主题客户端渲染压力巨大),就按主题文档说明,使用Git子模块的方式安装到了themes/blowfish,还整了个GitHub page打算拿来承载网页,不过本人愚笨,实在不明白themes要怎么配置,搞了半天都没达到我想要的效果,甚至因为配置问题还启动不起来了,遂放弃

现在hugo残骸还在wsl里

后面就继续看,发现貌似带后端的动态框架更符合我的需求,可以在线写东西,各种东西也能在网页上以ui形式操作,真的方便了很多。

Typecho很轻量,整个包压缩后只有不到400k,虽然我个人真的非常喜欢轻量的东西,不过这实在也太小了吧!?很让人怀疑功能是否全面之类的,于是就查了一下。这不查不要紧,一查把我吓一跳,这小东西年龄竟然都快比我这个老东西大了!这不是最关键的,能经受住时间的洗礼肯定也是有自己的本事的,老不一定差呀,是吧?但是Typecho这几年更新真的很不活跃,之前甚至好几年都没更新了,而且也没什么好看花哨的主题,这就比较难受了。

WordPress不用说了,又老又重量级,而且太...没内味儿了?反正不喜欢。

再来就是halo了,其实这个一开始也没看上,毕竟是java写的,jar包也接近100m了,看别人说想要稳定运行的话至少要配备1g内存,着实不太轻量,java嘛,懂的都懂(x)。但是也没其他东西用了呀,就用这个吧,java虽然有点笨拙,但是至少稳定吧?而且我对于jvm调参也有点经验,说不定能派上用场。

一开始是把halo部署到香橙派zero3上的,我的是顶配的,有4g内存,正好能给halo吃(后面发现其实并没有那么吃内存)

多可爱的小家伙

开始部署,先新建文件夹其实我第一步是找jdk去了,一开始用的阿里的龙井jdk21(Dragonwell21,下文简称dw21),之前开mc服务器就用的这个jdk,性能比Oracle和openj9的都好一些(应该)。wget dw21url tar -xzf *.tar.gz mv dw21 /usr/local/jdk21 一气呵成,再echo "/usr/local/jdk21/bin:$PATH" >> ~/.myshellrc 添加环境变量,java就算是安装好了。

文档里说H2数据库不稳定,不建议用在生成环境,那就用mariadb吧,虽然咱这也不是生产环境,但是稳定点总归是好的。

apt instll mariadb-server 安装mariadb,完成后用mysql_secure_installation 初始化,设置数据库密码什么的,按提示走就好了。还要新建数据库和数据库用户供halo使用,这里就不在赘述了。

我的halo.jar在~/halo下,配置文件在~/halo/nya-blog/application.yaml ,按文档修改好配置文件,然后就可以启动halo了!

java -jar halo.jar --spring.config.additional-location=optional:file:$HOME/halo/nya-blog/

注意启动参数的路径后面一定要有个/,否则不认路径,会按默认路径启动。而配置文件里的work-dir后面则不能带/ ,都是血与泪的教训(雾),反正就是在这上面

第一次启动,不出意外的话肯定是要出意外了。果然,跑了一些INFO就开始弹ERROR,满屏全是调用链,具体错误内容是什么不记得了(不愧是我)。后面又尝试启动了几次,都没成功。一开始以为是java版本的问题,毕竟是阿里魔改版的,于是就又去下了个zulu21,替换掉原来的dw21,再次尝试启动。尝试启动几次,同样失败。又想到官方用的是java17启动,于是又去下了个zulu17,同样启动失败,后面又试了Oracle java17,还是失败......这时候就在想,要是我用docker部署就不用考虑这些了,唉。

不过都投入这么多了,就这样放弃裸机部署也不甘心,而且我对虚拟机啊,容器什么的,都没什么好感....这倒可能是我偏见太大了。

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-04-13T14:53:50.665+08:00 ERROR 10076 --- [main] o.s.boot.SpringApplication               : Application run failed

java.lang.IllegalStateException: Timeout on blocking read for 60000000000 NANOSECONDS

这是个挺常见的错误,现在启动

摆烂,先写这么多得了....

全能废物