# 基于 golang 的开源论坛 bbs-go 的搭建步骤 {#基于-golang-的开源论坛-bbs-go-的搭建步骤}
本文总结了基于 golang 开发的开源论坛 bbs-go 的搭建步骤。
# 1. 下载代码 {#_1-下载代码}
git clone https://github.com/mlogclub/mlog.git
# 2. 初始化数据库 {#_2-初始化数据库}
执行数据库初始化脚本,初始化数据。
数据库初始化脚本路径: mlog/.docker-compose/mysql/db/docker-entrypoint-initdb.d
该初始化脚本只会初始化必要的数据库表和数据,剩余的表结构会在程序启动时自动完成初始化。
# 3. 运行后台服务 {#_3-运行后台服务}
后台服务所在目录为 mblog/server/
后台基于 golang 开发, 注意配置本地的 golang 环境为 1.15 版本,该项目不支持低版本。
# 3.1 基于模板创建配置文件 {#_3-1-基于模板创建配置文件}
cp ./mblog/server/bbs-go.example.yaml cp ./mblog/server/bbs-go.yaml
# 3.2 修改./mblog/server/bbs-go.yaml 的配置 {#_3-2-修改-mblog-server-bbs-go-yaml-的配置}
-
修改网站域名
BaseUrl: https://forum.sofineday.com # 网站域名
-
修改数据库配置
MySqlUrl: root:123456@tcp(localhost:3306)/bbsgo_db?charset=utf8mb4&parseTime=True&loc=Local
修改该配置中的用户名、密码、主机。
- 修改文件存储方式
修改文件存储方式为本地存储。
文件存储可以选择 aliyun oss,也可以选择本地存储。不想花钱,当然要配置为本地存储了
Uploader:
# 启用上传方式, "aliyun或oss"表示使用Aliyun Oss, 否则使用本地存储
Enable: local
# 本地文件上传
Local:
Host: https://cdn.forum.sofineday.com/ # 上传文件域名
Path: /data/forum/storage # 上传目录
还需为本地存储的根目录分配一个服务(使用 nginx 为文件根目录配置个虚拟主机即可)。
执行如下命令编译生成可执行文件 bbs-go。
./server/bbs-go --config ./server/bbs-go.yaml
服务端口: 8082
# 4. 运行前端页面服务 {#_4-运行前端页面服务}
后台服务所在目录为 mblog/site/
低版本的 node 会报错,建议安装高版本,如 v15.0.1
# 4.1 安装依赖包 {#_4-1-安装依赖包}
进入目录./site 后,执行 npm install
# 4.2 修改配置文件 {#_4-2-修改配置文件}
修改./mblog/site/nuxt.config.js,配置后台服务的 api 访问地址:
proxy: {
'/api/':
process.env.NODE_ENV === 'production'
? 'https://forum.sofineday.com'
# 4.3 运行 {#_4-3-运行}
进入目录./site 后,执行 npm run dev
则启动前端服务,服务端口 3000
该步骤可能会运行失败,报"无法找到 nuxt 命令"错误,解决方法: 删除./node_modules/目录,改用 yarn 命令安装依赖即可。
# 5. 验证 {#_5-验证}
访问http://localhost:3000
效果如下
管理员账号: admin/123456 细节请前往官方文档 (opens new window)