一年时间,用 Golang 写了个一个博客系统

2022-11-06 10:01:34 +08:00
 1379M

📖 前言

地址: https://github.com/go-sonic/sonic

Sonic [ˈsɒnɪk] ,Sonic 是一个用 Golang 开发的博客平台。

这个项目是从去年夏天开始,断断续续写了一年,其中还因为工作的原因暂停了一段时间,现在终于写完了,尽管自己觉得有些地方仍然不是很完美,但是也完成了我当初的基本构想。

写这个项目的原因是我自己也是一名博主,喜欢写博客,用过 Wordpress 、typecho 、Hexo 、Hugo 等,但是总有一些不满意的地方

Halo 感觉非常不错,典型的 C/S 架构,很符合我这个后端程序员的口味。虽然 Java 是一种高性能的语言,但是缺点是占用内存较多,一些配置较低的主机并不符合要求,Go 的协程天然适合 Web 这种并发场景,并且内存占用极低。而且 Halo 自身也有些小缺陷,比如 For 循环查库,遂决定基于 Go 写一个高性能的博客框架

需要说明的是,Sonic 的灵感来自 Halo ,也借鉴了 Halo 很多优秀的设计,后台管理界面更是直接 Fork 自 Halo 。Sonic 未来的主要目标是快、轻量、优雅的代码,希望能成为 Golang web 的 best practice 之一

📖 预览

🚀 Features:

🧰 安装

下载对应平台的安装包

根据你的操作系统和指令集下载对应的安装包

wget https://github.com/go-sonic/sonic/releases/download/v1.0.0/sonic-linux-amd64.zip -O sonic.zip

解压

unzip sonic.zip

运行

可以通过 -config 选项来指定配置文件的位置

cd sonic
./sonic -config conf/config.yaml

然后你就可以通过浏览器访问 sonic 了,默认的端口是 8080

后台管理路径是 http://ip:port/admin

TODO

📄 License

Source code in sonic is available under the MIT License.

7220 次点击
所在节点    分享创造
57 条回复
Acoffice
2022-11-07 23:41:54 +08:00
@1379M #20
http://127.0.0.1:8080/themes/default-theme-anatole/dist/style.css?version=1.5.0-alpha.2
http://127.0.0.1:8080/themes/default-theme-anatole/dist/main.iife.js?version=1.5.0-alpha.2

这两个地址都加载不了
1379M
2022-11-08 10:54:25 +08:00
@Acoffice 我这里没问题,你是不是装了什么 adblock 插件?
kennidiyuehan
2022-11-08 11:07:59 +08:00
[root@VM-8-15-centos blog]# ./sonic -config conf/config.yaml
./sonic: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by ./sonic)
1379M
2022-11-08 11:26:18 +08:00
@kennidiyuehan 因为使用了 SQLite3 ,所以依赖 CGO ,实测 Debian 10 没有问题。建议你安装对应的依赖,或者更换到其他 Debian 系的 Linux ,毕竟 centos 都已经成了 Centos Stream 了 ,centos 上面的软件也都很老。另一种方法是你把 CGO 关了,自己编译一份,使用 MySQL
chaodada
2022-11-08 17:52:20 +08:00
不错很喜欢 准备再楼主基础上二开可好
1379M
2022-11-08 18:03:25 +08:00
@chaodada 没问题啊。不过我更建议的是基于本项目提 pr ,类似的项目太多意义不大,也浪费人力
1379M
2022-11-08 18:04:40 +08:00
@chaodada LICENSE 是 MIT ,你就算拿去商用也没问题
chaodada
2022-11-09 08:57:02 +08:00
@1379M 哈哈、一直都想自己做个博客、wp 、typecho 、很早之前刚学 go 的时候做过一个简单的、但是总觉得不够好、正好学习一下楼主的嘿嘿
stephenhero
2022-11-09 16:58:24 +08:00
kingpo
2022-11-10 14:33:58 +08:00
windows 怎么部署,没看明白
kingpo
2022-11-10 14:45:15 +08:00
@kingpo 下错版本了,当我没说。。。
kingpo
2022-11-10 14:57:49 +08:00
草稿的文章,点击会提示网络错误
kingpo
2022-11-10 15:08:24 +08:00
支持一波,已 star
lasko
2022-11-10 17:23:55 +08:00
支持 已 star
zhjgo
2022-11-10 23:59:47 +08:00
支持 已 star ,刚好在学习 go 语言,下来学习学习
akring
2022-11-14 12:08:46 +08:00
看着不错,Star 了,顺便一说,Logo 有兴趣换一个吗
1379M
2022-11-14 12:53:12 +08:00
@akring logo 确实不怎么样,问题主要是我并不会设计。欢饮贡献 Logo!
gniviliving
2022-11-14 14:44:29 +08:00
登录后台一直报 Internal Server Error
账号密码没问题,首页不能正常显示,日志没有输出任何信息
kingpo
2022-11-14 15:52:16 +08:00
@gniviliving 那个命令行窗口不要关
gniviliving
2022-11-14 16:07:45 +08:00
@kingpo 我是 nohup /xxx/sonic --config /xxx/conf/config.yaml &的形式在后台运行的,不关怎么后台运行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/893027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX