Sonic:一个用Go语言开发的高性能博客平台
简介
Sonic,一个以其速度如声速般快速而命名的博客平台,是一个用Go语言开发的高性能博客系统。正如其名字所暗示的,Sonic旨在提供一个简单而强大的博客解决方案。这个项目受到了Halo项目团队的启发,前端部分是基于Halo项目的分支。
特点
Sonic具有以下显著特点:
- 多数据库支持:支持SQLite和MySQL(PostgreSQL支持待开发)。
- 轻量级:安装文件仅10MB大小。
- 高性能:文章详情页能够承受2500 QPS的访问量(测试环境:Intel Xeon Platinum 8260 4C 8G,SQLite3)。
- 主题更换支持:用户可以根据自己的喜好更换博客主题。
- 跨平台支持:支持Linux、Windows、Mac OS,以及x86、x64、Arm、Arm64、MIPS架构。
- 对象存储支持:支持MINIO、Google Cloud、AWS、AliYun等对象存储服务。
预览
Sonic的默认主题Anatole提供了一个简洁而现代的界面,以下是其截图预览:
安装
安装Sonic的步骤如下:
- 下载最新安装包:
wget https://github.com/go-sonic/sonic/releases/latest/download/sonic-linux-amd64.zip -O sonic.zip
- 解压:
解压下载的sonic.zip
文件。 - 启动:
cd sonic ./sonic -config conf/config.yaml
- 初始化:
打开浏览器访问http://ip:port/admin#install
进行初始化设置。初始化完成后,你可以通过浏览器访问Sonic,管理后台的URL为http://ip:port/admin
,默认端口为8080。
构建
如果你想要自己构建Sonic,可以按照以下步骤操作:
- 拉取项目:
git clone --recursive --depth 1 https://github.com/go-sonic/sonic
- 运行:
在Windows上编译此包,你需要安装gcc编译器,例如TDM-GCC工具链。
构建完成后,你的项目就准备好使用了。
Docker
Sonic也提供了Docker镜像,可以在Docker Hub上找到:gosonic/sonic。
主题生态
Sonic拥有一个活跃的主题生态,以下是一些可用的主题:
- Anatole
- Journal
- Clark
- Earth
- PaperMod
- Tink
许可
Sonic的源代码在MIT许可下可用。