背景
虽然我一直使用wordpress建站,可是长时间使用一样东西难免会感到无聊。正好前几天咕咕鸽(https://gugu.ge)发布了有关Halo 2.0的视频,于是我决定试试看,看看性能、外观和功能如何。
安装
安装Halo 2.0很简单,只需要按照官方文档使用Docker就行了,下面是我的docker-compose实例:
version: "3"
services:
halo:
image: halohub/halo:2.3.1
container_name: halo
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- /data/halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=password
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=https://blog.yuri.ro/
# 初始化的超级管理员用户名
- --halo.security.initializer.superadminusername=admin
# 初始化的超级管理员密码
- --halo.security.initializer.superadminpassword=admin
halodb:
image: mysql:8.0.31
container_name: halodb
restart: on-failure:3
networks:
halo_network:
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- /data/mysql:/var/lib/mysql
- /data/mysqlBackup:/data/mysqlBackup
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=halo
networks:
halo_network:
我是在本地服务器的虚拟机上安装的,因此为了方便外网访问,我使用了DDNS+Cloudflare,使得全球的IPv4和IPv6用户都能访问(我这儿有公网IPv6地址而且不封80、443).
接着,我就发现了一件非常神奇的事情,如果wordpress站点经过这么一折腾,在外面打开起码得花10-15秒。而这个Halo站点,居然只花了5s不到就打开了...这说明至少在默认情况下,Halo的性能要优于Wordpress。
插件与主题
Halo 2.0和之前的1.X相比,算是一个大版本升级,所以在选择主题和插件时需要注意兼容性。这里有一份列表,列出了大部分兼容Halo 2.0的插件和主题。
除去默认自带的插件外,我安装了以下插件:
Halo的插件和主题比Wordpress少很多,但精致化程度比Wordpress浩如烟海的插件和主题高多了。
除去默认自带的主题,我只安装了一个Sakura。
安装了这些插件和主题之后,网站的打开速度慢了不少,但是就算在晚高峰也能在10s内打开。
数据导入
我使用了上面的wordpress数据导入插件来导入https://blog.ete.moe里的文章。即在wordpress里导出数据,再在Halo后台导入即可。不过这个插件目前还不是很完善,我遇到了几个问题:
- 只能在https环境下导入,http环境则不行;
- 不能导入评论;
- 导入之后,文章默认禁止评论和生成摘要,感觉一篇篇改很麻烦,希望以后在导入时对于这两项加个开关。
希望以后能够做的更好吧。
图片,我就不将就地使用了图床(https://sm.ms),毕竟经过了这么长的路径,我的网站打开就已经够慢了,如果再加上图片,那效果....或许1分钟都不能打开。正巧我这次只是做个实验,于是就把图片放进了图床里,感觉速度确实还行。
总结
halo 2.0和目前的wordpress 6.1相比,优势是:
- 性能表现更好;
- 界面简洁直观;
- 主题、插件平均质量较高;
- 安装、配置方便。
不足之处是:
- 插件、主题数量较少,可能难以满足部分人的需求;
- 后台功能没有Wordpress丰富,缺少一些细节选项(比如自定义URL);
- 默认编辑器尚有改进空间。
等到我安定下来,或许会把这个网站也换到Halo上,然后部署在家庭服务器上。看来我得好好考虑一下图片的处理了。
Comments NOTHING