手把手教你用若依框架+MySQL+Redis,30分钟搞定一个开源WMS仓库管理系统
30分钟快速搭建开源WMS系统:若依框架实战指南
在数字化转型浪潮中,高效管理仓储物流成为企业降本增效的关键环节。对于中小型团队而言,如何快速验证一个仓库管理系统(WMS)的可行性,往往比研究复杂的企业级解决方案更具实际意义。本文将带你用若依(RuoYi)这一流行开源框架,结合MySQL和Redis,在半小时内完成一个功能完备的WMS系统从零部署到成功运行的完整流程。
1. 环境准备与工具选型
1.1 基础软件清单
在开始前,请确保本地开发环境已安装以下组件:
| 组件名称 | 版本要求 | 验证命令 | 备注 |
|---|---|---|---|
| JDK | 1.8+ | java -version | 推荐OpenJDK 11 |
| MySQL | 5.7+ | mysql --version | 需提前创建空数据库 |
| Redis | 3.0+ | redis-cli ping | 默认端口6379需开放 |
| Maven | 3.0+ | mvn -v | 用于Java依赖管理 |
| Node.js | 14.x+ | node -v | 前端项目构建依赖 |
提示:若使用Docker快速搭建数据库环境,可执行以下命令启动MySQL和Redis容器:
docker run --name wms-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7 docker run --name wms-redis -p 6379:6379 -d redis:latest
1.2 项目源码获取
通过Git克隆前后端项目仓库(国内推荐使用Gitee镜像):
# 后端服务 git clone https://gitee.com/zccbbg/wms-ruoyi.git # 前端界面 git clone https://gitee.com/zccbbg/ruo-yi-wms-vue.git对于网络受限的环境,可直接下载ZIP压缩包并解压。建议将两个项目放在同一级目录下,便于后续管理。
2. 数据库初始化与配置
2.1 数据库结构导入
使用MySQL客户端(如Navicat或DBeaver)执行以下操作:
- 新建名为
wms_db的数据库(字符集建议选择utf8mb4) - 打开后端项目中的
sql/结构与数据.sql文件 - 执行全部SQL语句完成表创建和基础数据插入
常见问题排查:
- 若出现
ERROR 1071 (42000):检查MySQL的innodb_large_prefix参数是否开启 - 若导入速度慢:临时关闭外键检查
SET FOREIGN_KEY_CHECKS=0;
2.2 连接参数配置
修改后端项目的application-druid.yml文件:
# 数据源配置 datasource: url: jdbc:mysql://localhost:3306/wms_db?useSSL=false&serverTimezone=Asia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver # Redis配置 redis: host: localhost port: 6379 password: database: 0注意:生产环境务必修改默认密码,并启用SSL加密连接
3. 后端服务启动与调试
3.1 依赖安装与编译
在IDEA中打开后端项目后:
- 右键
pom.xml选择"Maven -> Reload Project"下载依赖 - 检查JDK版本(File -> Project Structure -> Project SDK)
- 执行编译命令:
mvn clean install -DskipTests
常见问题解决方案:
- 依赖下载失败:尝试更换Maven镜像源为阿里云
java.lang.UnsupportedClassVersionError:确认JDK版本为1.8+- 端口冲突:修改
application.yml中的server.port值
3.2 服务启动验证
运行RuoYiApplication主类,当控制台输出以下标志时表示启动成功:
_____ _ _ _____ __ __ | __ \ | \ | | |_ _| \ \ / / | |__) || \| | | | \ V / | _ / | . ` | | | > < | | \ \ | |\ | _| |_ / . \ |_| \_\|_| \_| |_____| /_/ \_\访问http://localhost:8080应能看到API文档页面(如Swagger UI)
4. 前端项目部署实战
4.1 依赖安装与构建
在前端项目根目录下执行:
# 安装依赖(国内建议使用cnpm) npm install --registry=https://registry.npmmirror.com # 开发模式运行 npm run dev # 生产环境构建 npm run build:prod关键配置文件修改:
vue.config.js中的devServer.proxy需对应后端API地址.env.production中的VUE_APP_BASE_API设置生产环境API根路径
4.2 系统功能预览
成功启动后访问http://localhost:80(默认前端端口),初始账号密码通常为:
- 管理员:admin/admin123
- 测试用户:test/test123
典型WMS功能模块包括:
- 基础数据:仓库、货架、货位管理
- 入库管理:采购入库、退货入库
- 出库管理:销售出库、调拨出库
- 库存管理:实时库存查询、库存预警
- 报表统计:出入库流水、库存周转率
5. 性能优化与扩展建议
5.1 Redis缓存策略优化
在application.yml中调整缓存配置:
spring: cache: type: redis redis: time-to-live: 1800000 # 缓存过期时间(毫秒) key-prefix: 'wms:' # 缓存键前缀 cache-null-values: false推荐缓存场景:
- 频繁访问的基础数据(如仓库信息)
- 权限菜单树结构
- 系统参数配置
5.2 前端性能调优技巧
启用Gzip压缩(nginx配置示例):
gzip on; gzip_types text/plain application/xml application/javascript; gzip_min_length 1024;按需加载组件(修改
babel.config.js):plugins: [ ['import', { libraryName: 'element-ui', styleLibraryName: 'theme-chalk' }] ]使用CDN加速静态资源:
<!-- 在public/index.html中添加 --> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script>
5.3 二次开发方向
基于若依WMS的可扩展架构,建议从以下方面进行深度定制:
- 对接电子秤、扫码枪等硬件设备
- 实现与ERP系统的深度集成
- 开发移动端盘点功能
- 增加批次管理和效期预警
- 引入AI算法优化库位分配
