|
|
||
|---|---|---|
| config | ||
| data | ||
| docs | ||
| global | ||
| initialize | ||
| internal | ||
| migrations | ||
| pkg | ||
| proto | ||
| scripts | ||
| server | ||
| .gitignore | ||
| Dockerfile | ||
| README.md | ||
| config.yaml.example | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
README.md
ShareKnowledgeServer
知识库共享平台,使用golang微服务脚手架搭建micro-server-simple
内容列表
项目结构
share-knowledge-server
├── config(配置目录)
├── data(搜索引擎数据目录)
├── docs(文档集合)
├── global(全局变量)
├── initialize(初始化函数)
├── internal(内部模块)
│ ├── controller(控制器层,用于存放控制器)
│ ├── dao(数据访问层,所有与数据相关等操作都会在dao层进行)
│ ├── job(后台任务)
│ ├── middleware(HTTP中间件)
│ ├── model(模型层,用于存放model对象)
│ ├── routers(路由相关逻辑处理)
│ └── service(项目核心业务逻辑)
├── migrations(数据库迁移文件)
├── pkg(项目相关等模块包)
├── scripts(各类构建、按照,分析等操作等脚本)
└── tmp(项目生成的临时文件)
安装
这个项目使用 go 、 swag、migrate等CLI工具 请确保你本地安装了它们。
go
$ tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gz
$ export PATH=$PATH:/usr/local/go/bin
swag安装
$ go get -u github.com/swaggo/swag/cmd/swag
$ mv $GOPATH/bin/swag /usr/local/go/bin
配置说明
根目录下需要有config.yaml,如果没有请进行以下操作
cp config.yaml.example config.yaml
| 参数类别 | 参数名称 | 描述 |
|---|---|---|
| app | name | 微服务名称 |
| version | 微服务版本号 | |
| domain | 微服务主页 | |
| run_mode | 运行模式,可选debug、release、test | |
| default_context_timeout | 上下文超时时长 | |
| page_size | 默认分页数量 | |
| server | http_port | http服务端口号 |
| grpc_port | grpc服务端口号 | |
| read_timeout | 读数据超时时长 | |
| write_timeout | 写数据超时时间 | |
| database | type | 数据库类型,可选mysql、postgresql |
| user | 数据库用户 | |
| password | 数据库密码 | |
| host | 数据库地址 | |
| port | 数据库端口号 | |
| name | 数据库名称 | |
| table_prefix | 数据库表前缀 | |
| redis | host | redis地址 |
| port | redis端口号 | |
| password | redis密码 | |
| db | redis实例编号 | |
| zap | level | 日志级别, 可选debug、info、warn、error、dpanic、panic、fatal |
| format | 日志输出格式,可选json, console | |
| prefix | 日志前缀 | |
| director | 日志目录 | |
| link-name | 日志名称 | |
| show-line | 开启开发模式,堆栈跟踪 | |
| encode-level | 日志编码格式,可选LowercaseLevelEncoder、LowercaseColorLevelEncoder、CapitalLevelEncoder、CapitalColorLevelEncoder | |
| stacktrace-key | 堆栈跟踪输出的名称 | |
| log-in-console | 是否同步日志到console |
使用说明
# 启动项目
$ go build -o share-knowledge-server main.go
$ ./share-knowledge-server
# 生成api文档
$ swag init
相关仓库
如何贡献
非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。
使用许可
MIT © GitLink