本项目基于 kratos框架 搭建基础微服务项目,开发各种独立服务,bff层作为入口,整合各个服务。
- 管理后台
- 登录退出
- 管理员管理
- 角色管理
- 菜单管理
- 权限管理
- api管理
- 前端直传(获取token)
管理后台web框架: vue-element-admin
服务注册与发现: ETCD
链路追踪:jaeger
数据库:mysql
缓存:redis
orm: GORM
1.导入sql
文件位于initSql/authorization.sql
1.下载
$ go clone git@github.com:ZQCard/authorization.git
2.安装依赖
$ cd authorization && go mod tidy
3.设置配置 以管理员服务为例, 配置文件位于configs/
$ vim ./app/administrator/configs/config.yaml
4.运行项目
$ kratos run
5.如果使用docker部署,请更改Dockerfile的启动配置文件 config-dev.yaml 并更改Makefile中的docker命令为自己的配置
$ make docker
1.安装依赖
$ cd web && npm install
2.启动项目
$ npm run dev
可以参考kratos部署 (https://go-kratos.dev/docs/devops/docker)
1.服务部署 以管理员服务为例 app/
$ cd app/administrator
2.make打包docker镜像
# PS:如果是打包admin镜像 app/project/admin 请执行 make dockerAdmin
$ make docker
3.运行容器
# 注意端口映射设置, docker部署容器9000端口, 本地开发端口不能全是9000
docker run -p 9000:9000 --name kratos-base-project-administrator --restart=always -v /data/project/kratos-base-project/app/administrator/configs:/data/conf -d kratos-base-project/administrator:0.1.0
1.进入前端目录
$ cd web
2.编译
$ npm run build:prod
3.将dist文件夹上传至服务器
server {
listen 80;
listen [::]:80;
server_name kratos.niu12.com;
index index.html;
root /data/project/kratos-base-project/web/dist;
# 管理后台接口转发代理
location /api/ {
# nginx代理设置Header
proxy_set_header X-real-ip $remote_addr;
proxy_pass http://127.0.0.1:8000/;
}
}
- 有任何建议,请扫码添加我微信进行交流。
