Y-OMS-WMS-TMS教程
1.1 硬件 & 服务器环境准备
测试环境最低配置(单机)
- CPU:4 核
- 内存:8G
- 硬盘:SSD 100G
- 系统:CentOS 7.9 / Ubuntu 20.04
- 网络:开放端口 80、443、8080、6379、3306、5672
生产环境推荐
- 服务器拆分:OMS 服务、WMS 服务、TMS 服务、数据库服务器、Redis、RabbitMQ 独立服务器
- 数据库:MySQL8.0 主从架构
- 内存:每台应用服务器≥16G
软件版本清单
- JDK 1.8 / JDK11(后端)
- MySQL 8.0
- Redis 6.x
- RabbitMQ 3.9
- Nginx 1.20+
- 前端:打包 dist 静态资源
1.2 服务器初始化操作(Linux)
- 关闭防火墙(测试环境)
systemctl stop firewalld
systemctl disable firewalld
生产环境:不关闭防火墙,按需放行端口
- 关闭 SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
- 更新系统
yum update -y
1.3 分步安装中间件
Step1 安装 MySQL8.0
- 安装 mysql,设置开机自启
- 登录数据库,创建 3 个业务库:
CREATE DATABASE y_oms DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE y_wms DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE y_tms DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 创建数据库账号,授权访问,导入项目提供的 sql 初始化脚本
mysql -u root -p y_oms < y_oms_init.sql
mysql -u root -p y_wms < y_wms_init.sql
mysql -u root -p y_tms < y_tms_init.sql
Step2 安装 Redis
yum install redis -y
systemctl start redis
systemctl enable redis
修改 redis 配置,设置密码(生产必做)
Step3 安装 RabbitMQ
- 安装 erlang 环境,再安装 rabbitmq-server
- 启用管理页面,创建 mq 账号,创建队列:oms_order、wms_task、tms_transport 消息队列
- 启动 rabbitmq,设置开机自启
Step4 安装 JDK
yum install java-1.8.0-openjdk-devel -y
java -version
Step5 Nginx 部署前端包
- 将前端 dist 包上传服务器 /usr/local/y-web
- 配置 nginx.conf,绑定域名,指向前端静态资源
- Nginx 配置反向代理,把 /api 转发到后端服务端口
- 启动 nginx:
systemctl start nginx
1.4 部署后端服务(OMS、WMS、TMS 三个 jar 包)
后端一般为 SpringBoot 打包 jar 包:y-oms.jar、y-wms.jar、y-tms.jar
- 在服务器新建目录
mkdir -p /usr/local/y-system/{oms,wms,tms,logs}
- 上传三个 jar 包到对应目录
- 修改每个服务的
application.yml配置文件
重点修改:
- 数据库地址、账号密码
- Redis 连接信息
- RabbitMQ 连接信息
- 文件上传路径
- 服务端口:OMS:8081,WMS:8082,TMS:8083
- 启动服务(测试启动命令)
# OMS
nohup java -jar y-oms.jar > /usr/local/y-system/logs/oms.log 2>&1 &
# WMS
nohup java -jar y-wms.jar > /usr/local/y-system/logs/wms.log 2>&1 &
# TMS
nohup java -jar y-tms.jar > /usr/local/y-system/logs/tms.log 2>&1 &
生产环境建议使用 systemd 托管服务,方便启停、崩溃自动重启
- 验证服务启动
ps -ef | grep java
查看日志,无报错即为启动成功。
1.5 系统初始化配置(网页端操作)
- 浏览器访问 Nginx 地址,登录初始管理员账号密码
- 基础档案初始化(按顺序)
① 组织架构、用户、角色权限
② 货主信息
③ 仓库档案、库位档案
④ 商品 SKU、条码、批次属性
⑤ 承运商、运输线路
⑥ 系统参数:订单规则、库存参数、面单配置、消息通知 - PDA 端部署:安卓 PDA 安装 APP,填写服务器访问地址,测试扫码登录
1.6 联调测试流程
- OMS 测试:手动创建订单,校验库存预占,下发 WMS;
- WMS 测试:PDA 收货、上架、波次拣货、复核打包,出库推送 TMS;
- TMS 测试:自动生成运单、分配承运商、运单状态更新;
- 全链路闭环:下单→出库→运单→签收,状态逐级回传 OMS;
- 异常场景测试:取消订单、退货入库、库存不足拦截。
1.7 日常运维 & 备份方案
- 数据库:每日定时全量备份 mysql,保留 7 天备份;
- 日志:日志切割,避免磁盘占满;
- 监控:监控服务器 CPU、内存,服务进程,MQ 消息堆积;
- 更新:版本更新前先备份数据库,测试环境验证后再发布生产;
- 安全:定期修改数据库、后台密码,禁止公网直接暴露数据库端口。
1.8 常见部署坑点
- RabbitMQ 消息堆积:大促订单量高,MQ 配置不足会导致订单下发延迟;
- 时间同步:服务器时间不一致,单据时间错乱;
- 跨域问题:前端 Nginx 反向代理配置错误,接口请求失败;
- 文件权限:附件、面单图片目录读写权限不足;
- 防火墙:端口不通,PDA 无法连接后端。