💡 简介
Symphony([ˈsɪmfəni],n.交响乐)是一个现代化的社区平台,因为它:
- 实现了面向内容讨论的论坛
- 实现了面向知识问答的社区
- 包含了面向用户分享、交友、游戏的社交网络
100%
开源
欢迎到 Sym 官方讨论区了解更多。
⚡ 动机
很多社区论坛系统:
- 界面风格老式,没有跟上时代发展的步伐
- 缺少创新、好玩的特性,缺少现代化的交互元素和用户体验
- 缺乏考虑实际运营需求,管理功能过于单一
- 细节不够精致、缺乏长期维护
🗃 案例
社区版:
商业版:
✨ 特性
🎨 界面
以下截图来自 Sym 商业版。
首页
列表
帖子
发帖
用户 - PC 端
多主题
🛠️ 安装
先在 MySQL 中手动建库(库名 symphony
,字符集使用 utf8mb4
,排序规则 utf8mb4_general_ci
),然后按照如下方式之一启动服务。
war 包启动
下载最新的 Sym 包解压,进入解压目录执行:
- Windows:
java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.symphony.Starter
- Unix-like:
java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.symphony.Starter
如果要将 war 包部署到 Servlet 容器中启动请参考安装指南。
Docker 部署
获取最新镜像:
docker pull b3log/symphony
启动容器:
docker run --detach --name sym --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/symphony?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
b3log/symphony --listen_port=8080 --server_scheme=http --server_host=localhost
为了简单,使用了主机网络模式来连接主机上的 MySQL。
启动参数说明:
--listen_port
:进程监听端口--server_scheme
:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为https
--server_host
:最终访问域名或公网 IP,不要带端口号
完整启动参数的说明可以使用 -h
来查看。
📜 文档
📄 授权
- 社区版:使用 AGPLv3 开源,如果你选择使用社区版,则必须完全遵守 AGPLv3 的相关条款
- 商业版:提供完整源码以便二开,报价 ¥20000
- 云服务:提供开箱即用的云端服务,每年 ¥5000
关于商业版和社区版的对比请看这里,企业网站、经营性网站、以营利为目的或实现盈利的网站请购买商业版。
欢迎联系 QQ 845765
或邮箱 d@b3log.org
进行细节咨询。
🏘️ 社区
🙏 鸣谢
- jQuery:前端 JavaScript 工具库
- Vditor: 浏览器端的 Markdown 编辑器
- Highlight.js:前端代码高亮库
- pjax:pushState + ajax = pjax
- MathJax:前端数学公式渲染引擎
- Sass:前端 CSS 处理工具
- jsoup:Java HTML 解析器
- flexmark:Java Markdown 处理库
- Apache Commons:Java 工具库集
- Jodd:Java 工具库集
- Latke:以 JSON 为主的 Java Web 框架
安全方面特别感谢: