Banner

Mall4j 商城

2026-10-14

1 硬件 & 软件环境

测试环境最低配置(单机 Jar)

  • CPU:2 核
  • 内存:4G
  • SSD 硬盘 ≥ 50G
  • 操作系统:CentOS7.9 / Ubuntu20.04

生产环境推荐

  • CPU ≥4 核,内存 ≥8G;多实例集群部署,Nginx 负载均衡
  • MySQL 主从备份,Redis 可单机 / 集群

软件版本清单

  • JDK17(SpringBoot4 推荐 JDK17+)
  • MySQL8.0
  • Redis 6.x+
  • Maven3.6+(源码打包)
  • Node.js 16+(前端打包)
  • Nginx 1.20+

2 服务器初始化操作(Linux)

# 测试环境关闭防火墙(生产不要关闭,按需放行端口)
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
yum update -y

3 分步安装中间件

Step1 安装 MySQL8.0

  1. 安装 MySQL,配置 my.cnf,调整 sql_mode
CREATE DATABASE mall4j DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 创建数据库账号,授权访问
  2. 导入初始化 SQL 脚本(项目 doc/sql 目录)
mysql -u root -p mall4j < mall4j_init.sql

Step2 安装 Redis

yum install redis -y
systemctl start redis
systemctl enable redis

修改 redis.conf,设置密码,开启持久化 RDB/AOF

Step3 安装 JDK17

yum install java-17-openjdk-devel -y
java -version

4 后端源码打包 & Jar 部署

Step1 拉取源码

git clone https://gitee.com/gz-yami/mall4j.git
cd mall4j

Step2 Maven 打包

mvn clean package -DskipTests

打包完成后,target 目录生成可执行 jar 包 mall4j.jar

Step3 上传 Jar 包到服务器

新建目录

mkdir -p /usr/local/mall4j/logs

上传 jar 包,修改配置文件 application.yml
重点修改:

  • MySQL 地址、账号密码
  • Redis 连接地址、密码
  • 文件上传路径
  • 端口(默认 8080)
  • 支付密钥、OSS/MinIO 配置

Step4 启动服务

nohup java -jar mall4j.jar > /usr/local/mall4j/logs/mall4j.log 2>&1 &
生产环境推荐使用 systemd 托管,服务崩溃自动重启

Step5 验证后端启动

ps -ef | grep java

查看日志,无报错即为成功,访问接口文档:http://IP:8080/doc.html

5 前端打包部署

  1. 管理后台 Vue 前端
# 进入web-admin目录
npm install
npm run build

输出 dist 静态资源,上传服务器 /usr/local/mall4j/web-admin
2. Uni-app 移动端(H5 / 小程序)
HBuilderX 打开 uni-app 项目,打包 H5;微信小程序直接编译上传微信后台。
3. Nginx 配置
Nginx 托管前端静态页面,反向代理
/api转发到后端 8080 端口。

6 系统网页初始化(后台操作)

  1. 使用默认管理员账号登录商城后台,修改初始密码
  2. 初始化顺序:
    ① 基础参数、商城名称、联系方式
    ② 商品分类、品牌
    ③ 运费模板配置
    ④ 支付配置(微信、支付宝密钥)
    ⑤ 文件存储配置(OSS/MinIO)
    ⑥ 营销基础参数
  3. 新增商品、设置 SKU 库存,发布商品
  4. C 端 H5 / 小程序访问,测试加购、下单、支付流程

7 对接 Y-OMS-WMS-TMS 履约中台

业务完整链路:
C 端用户 Mall4j 下单 → Mall4j 订单服务调用 API 推送订单到 Y-OMS → OMS 库存校验、分仓策略 → 下发 WMS 做入库拣货复核打包 → WMS 出库推送 TMS 生成运单 → TMS 承运商调度、物流轨迹回写 Mall4j 前台。

对接要点:

  1. Mall4j 新增订单事件 Webhook,实时推送订单数据给 OMS;
  2. Mall4j 关闭原生发货流程,发货状态由履约中台回调更新;
  3. 库存双向同步:WMS 真实库存定时回写到 Mall4j 商品 SKU;
  4. 售后退货事件同步,退货入库状态回传商城。

8 运维 & 备份方案

  1. MySQL:每日定时全量备份,开启 binlog,保留 7~30 天备份;
  2. Redis 开启持久化,防止缓存丢失;
  3. 日志切割,避免磁盘占满;
  4. 监控:服务器 CPU、内存、Java 进程;
  5. 发布流程:测试环境验证 → 数据库备份 → 生产发布;
  6. 安全:禁止公网暴露数据库、Redis 端口;定期修改密码。

9 常见踩坑点

  1. JDK 版本不对,SpringBoot4 启动报错,必须 JDK17+;
  2. MySQL 字符集不是 utf8mb4,emoji 表情保存失败;
  3. Redis 未设置密码,公网环境存在安全风险;
  4. 文件目录权限不足,商品图片上传失败;
  5. 支付回调内网环境无法接收,需要公网域名;
  6. 订单长时间未支付,定时任务 XXL-JOB 配置错误,订单无法自动关闭;
  7. Nginx 跨域配置错误,前端无法调用后端接口。


5