启航电商ERP技术架构及部署
架构
1、开发环境级组件
1.1 开发环境
- Jdk:17
- Nodejs:v16.20.0
1.2 项目组件
后端核心组件
- SpringBoot:3.0.2
- spring-boot-starter-security
微服务版本
- SpringCloudAlibaba:2022.0.0.0
- Nacos
- SpringCloud Gateway
- spring-cloud-starter-loadbalancer
前端框架及组件
- vue2
- element
1.3、存储及中间件
- MySQL8
- Redis:7.x
- 缓存
- 消息队列
- Nacos:2.3.2(配置中心、注册中心)
- Sentinel(分布式流量治理组件)
2、项目结构
2.1 core
项目公共模块包括:
common
:公共类库security
:公共权限验证模块open-sdk
:电商开放平台sdkcloud-warehouse-sdk
:京东云仓sdk,后续可能扩展更多云仓
2.2 module
数据库操作层,包括 + goods:商品库模块 + shop:店铺模块 + stock:仓库库存模块 + order:订单库模块 + erp:采购模块 + sys:系统模块 + tao:淘宝天猫模块 + jd:京东模块 + pdd:拼多多模块 + dou:抖店模块 + wei:微信小店模块
2.3 api-services
相关微服务的模块封装 + dou-api:抖店相关微服务 + jd-api:京东相关微服务 + pdd-api:拼多多相关微服务 + tao-api:淘宝天猫相关微服务 + wei-api:微信小店相关微服务 + shop-api:其他电商平台店铺相关微服务
2.4 api
微服务
- gateway:网关
- sys-api:系统微服务
- oms-api:OMS微服务
- store-api:电商开放平台微服务
- vms-api:云仓api微服务
- open-api:对外接口微服务
2.5 ux
前端项目:
- vue-oms:系统前端,支持总部(管理员)、商户、云仓库三个角色账号登录
3、运行说明
3.1、启动环境
- 启动MySQL8
- 启动Redis7
- 启动Nacos2.3.2
3.2、启动服务(项目)
3.2.1 微服务版本
- 启动业务微服务
api
父项目下:(sys-api、oms-api、store-api、open-api、gateway微服务)
3.3、运行前端
-
Nodejs版本:v16.20.0
-
进入
vue-oms
文件夹 - 运行
npm install
- 运行
npm run dev
- 浏览网页
http://localhost:88
四、部署
4.1 本地Docker部署
后端部署
1、mvn项目打包
- mvn打包:
mvn clean package
(注意修改api文件夹下所有项目application配置(数据库、Nacos、Redis相关配置))
2、打包Docker镜像
- 进入
api
各项目文件夹 - 运行Docker打包命令:
docker build -t xxxx-api .
3、推送Docker镜像到服务器
推荐使用阿里云容器镜像服务ACR
确保本机安装了 Docker Desktop并且已经设置好了
-
1、TAG:
docker tag saas-api crpi-km68smz26eegv27m.cn-shenzhen.personal.cr.aliyuncs.com/saas-api:v2504251
-
2、PUSH:
docker push crpi-km68smz26eegv27m.cn-shenzhen.personal.cr.aliyuncs.com/saas-api:v2504251
-
3、拉取推送的镜像:
docker pull crpi-km68smz26eegv27m.cn-shenzhen.personal.cr.aliyuncs.com/saas-api:v2504251
-
4、运行:
docker run -d --name qihang-saas-api -p 8088:8088 crpi-km68smz26eegv27m.cn-shenzhen.personal.cr.aliyuncs.com/saas-api:v2504251
前端部署
1、npm打包
- 进入
ux
各项目文件夹 npm install
npm run build:prod
2、打包Docker镜像
- 修改Dockerfile文件:在各项文件夹目跟目录
- 修改nginx.conf文件:在各项文件夹目跟目录
- 打包Docker镜像:
docker build -t vue-xxx .
3、推送Docker镜像到服务器
Docker部署是一样的
4.2 传统部署
1、后端部署
mvn打包
- mvn打包:
mvn clean package
(注意修改服务器配置)
上传到服务器
- 上传文件:
scp -P 22 -r D:/projects/publish/qihangerp root@x.x.x.x:/opt
运行
- Java运行:
nohup java -jar api-3.0.2.jar > output.log 2>&1 &
2、前端部署
npm打包
- 进入
ux
各项目文件夹 npm install
npm run build:prod
上传到服务器
- 上传文件:
scp -P 22 -r D:/projects/publish/qihangerp root@x.x.x.x:/opt
运行
Nginx配置
# 上传文件至远程服务器
将打包生成在 `dist` 目录下的文件拷贝至 `/opt/qihangerp/nginx/dist` 目录
# nginx.cofig 配置
server {
listen 80;
server_name localhost;
location / {
#root /opt/qihangerp/nginx/dist;
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# 反向代理配置
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8088/; # 替换成你的后端网关API地址
}
}
售后服务
售后联系作者:18123879144(老齐)