Litemall 电商系统部署文档
📋 目录
🛠️ 环境要求
必需软件版本
| 软件 | 最低版本 | 推荐版本 | 检查命令 |
|---|---|---|---|
| Java | JDK 1.8 | JDK 17+ | java -version |
| Maven | 3.6+ | 3.9.11+ | mvn --version |
| MySQL | 8.0+ | 8.4+ | mysql --version |
| Node.js | 16+ | 22.21.0+ | node --version |
| NPM | 8+ | 10.9.4+ | npm --version |
系统要求
- 操作系统: Windows 10+ / Linux / macOS
- 内存: 最少 4GB RAM(推荐 8GB+)
- 存储: 至少 5GB 可用空间
- 网络: 稳定的互联网连接(用于下载依赖)
🚀 部署流程
Phase 1: 环境验证
1.1 Java环境验证
# 检查Java版本
java -version
# 应显示类似: openjdk version "17.0.12" 或更高版本
# 验证Java安装路径
echo %JAVA_HOME%
# 应显示类似: C:\Program Files\Java\jdk-17
1.2 Maven环境验证
# 检查Maven版本
mvn --version
# 应显示类似: Apache Maven 3.9.11
1.3 Node.js环境验证
# 检查Node.js版本
node --version
# 检查NPM版本
npm --version
# 应分别显示: v22.21.0+ 和 10.9.4+
1.4 MySQL服务验证
# 检查MySQL服务状态
# Windows:
sc query mysql80
# 或通过任务管理器查看mysqld进程
tasklist | findstr mysql
# Linux:
systemctl status mysql
# 应显示为 RUNNING 或 active (running)
# 验证MySQL连接
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql.exe" -u root -p -e "SELECT VERSION();"
# 应显示MySQL版本号
Phase 2: 数据库初始化
2.1 创建数据库和用户
-- 使用root用户登录MySQL
mysql -u root -p
-- 执行以下SQL脚本
CREATE DATABASE IF NOT EXISTS litemall DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'litemall'@'%' IDENTIFIED BY 'litemall123456';
GRANT ALL PRIVILEGES ON litemall.* TO 'litemall'@'%';
FLUSH PRIVILEGES;
2.2 导入数据库结构和数据
# 切换到项目目录
cd d:/Project/codeBuddy/litemall
# 按顺序导入SQL文件
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql.exe" -u litemall -plitemall123456 litemall < litemall-db/sql/litemall_schema.sql
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql.exe" -u litemall -plitemall123456 litemall < litemall-db/sql/litemall_table.sql
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql.exe" -u litemall -plitemall123456 litemall < litemall-db/sql/litemall_data.sql
2.3 验证数据库导入
-- 验证表是否创建成功
USE litemall;
SHOW TABLES;
-- 应显示约40+个表,包括:litemall_admin, litemall_goods等
-- 验证数据是否导入
SELECT COUNT(*) FROM litemall_admin;
-- 应返回1条管理员记录
-- 验证商品数据
SELECT COUNT(*) FROM litemall_goods;
-- 应返回100+条商品记录
-- 验证用户数据
SELECT COUNT(*) FROM litemall_user;
-- 应返回多条用户记录
Phase 3: 后端服务部署
3.1 编译后端项目
# 进入项目根目录
cd d:/Project/codeBuddy/litemall
# 清理并编译项目
mvn clean install -DskipTests
# 打包项目
mvn clean package -DskipTests
预期结果:
- 编译时间: 3-10分钟(首次编译)
- 成功标志: 看到
BUILD SUCCESS消息 - JAR文件位置:
litemall-all/target/litemall-all-0.1.0-exec.jar
3.2 启动后端服务
# 启动后端服务(设置合理的内存参数)
java -Xmx512m -Xms256m -Dfile.encoding=UTF-8 -jar litemall-all/target/litemall-all-0.1.0-exec.jar
预期结果:
- 启动时间: 30-60秒
- 成功标志: 看到 Spring Boot 标志和 "Started Application"
- 默认端口: 8080
Phase 4: 前端服务部署
4.1 管理后台部署
# 进入管理后台目录
cd d:/Project/codeBuddy/litemall/litemall-admin
# 安装依赖
npm install --registry=https://registry.npm.taobao.org
# 启动开发服务器
npm run dev
预期结果:
- 安装时间: 2-5分钟
- 成功标志: 看到 "App running at: http://localhost:9527"
- 默认端口: 9527
4.2 移动端商城部署
# 进入移动端目录
cd d:/Project/codeBuddy/litemall/litemall-vue
# 安装依赖
npm install --registry=https://registry.npm.taobao.org
# 启动开发服务器
npm run dev
预期结果:
- 安装时间: 2-5分钟
- 成功标志: 看到 "App running at: http://localhost:6255"
- 默认端口: 6255
✅ 验证步骤
Step 1: 后端API验证
1.1 基础连通性测试
# 测试管理后台API
curl -s "http://localhost:8080/admin/index/index"
# 应返回: {"errno":0,"data":{"adminInfo":{"nickname":"admin","avatar":"..."},"menuList":[...]}}
# 测试微信小程序API
curl -s "http://localhost:8080/wx/home/index"
# 应返回: {"errno":0,"data":{"newGoodsList":[...],"banner":[...],...}}
1.2 数据库连接验证
-- 测试数据库连接
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql.exe" -u litemall -plitemall123456 litemall -e "SELECT 'Database connection OK' as status;"
# 应返回: Database connection OK
Step 2: 管理后台验证
2.1 Web界面访问
- URL: http://localhost:9527
- 默认账号: admin
- 默认密码: admin123
- 验证点: 能够成功登录并看到管理后台主界面
2.2 功能验证
- 点击"商品管理" -> 能看到商品列表
- 点击"订单管理" -> 能看到订单数据
- 点击"用户管理" -> 能看到用户列表
Step 3: 移动端验证
3.1 Web界面访问
- URL: http://localhost:6255
- 验证点: 能够看到移动端商城首页,显示商品信息
3.2 功能验证
- 首页能够正常加载
- 能够浏览商品分类
- 能够查看商品详情
🔧 常见问题
Q1: 后端启动失败,内存不足
解决方案:
# 使用更小的内存参数
java -Xmx256m -Xms128m -Dfile.encoding=UTF-8 -jar litemall-all/target/litemall-all-0.1.0-exec.jar
Q2: 数据库连接失败
解决方案:
-- 检查用户权限
SHOW GRANTS FOR 'litemall'@'%';
-- 重新授权
GRANT ALL PRIVILEGES ON litemall.* TO 'litemall'@'%';
FLUSH PRIVILEGES;
Q3: 前端npm安装失败
解决方案:
# 清理npm缓存
npm cache clean --force
# 删除node_modules重新安装
# Windows:
rmdir /s /q node_modules
del package-lock.json
# Linux/macOS:
rm -rf node_modules package-lock.json
# 使用兼容模式安装
npm install --legacy-peer-deps
# 如果仍有问题,尝试使用淘宝镜像
npm config set registry https://registry.npm.taobao.org/
npm install
Q4: 端口被占用
解决方案:
# 查看端口占用
netstat -ano | findstr :8080
netstat -ano | findstr :9527
netstat -ano | findstr :6255
# 终止占用进程
taskkill /PID <进程ID> /F
Q5: 后端API 404错误
解决方案:
- 确认JAR文件存在
- 确认Java进程正在运行
- 使用正确的API路径:
/wx/home/index或/admin/index/index
📊 服务状态监控
日常检查命令
# 检查所有服务状态
powershell -Command "
Write-Host '=== Litemall 服务状态检查 ===';
Write-Host '1. 后端API服务 (8080):';
try {
\$response = Invoke-RestMethod -Uri 'http://localhost:8080/wx/home/index' -TimeoutSec 10 -ErrorAction Stop;
Write-Host ' ✅ 后端API运行正常 (errno:' \$response.errno ')'
} catch {
Write-Host ' ❌ 后端API未响应'
};
Write-Host '2. 管理后台 (9527):';
try {
\$response = Invoke-WebRequest -Uri 'http://localhost:9527' -TimeoutSec 5 -ErrorAction Stop;
Write-Host ' ✅ 管理后台运行正常 (状态码:' \$response.StatusCode ')'
} catch {
Write-Host ' ❌ 管理后台未响应'
};
Write-Host '3. 移动端商城 (6255):';
try {
\$response = Invoke-WebRequest -Uri 'http://localhost:6255' -TimeoutSec 5 -ErrorAction Stop;
Write-Host ' ✅ 移动端商城运行正常 (状态码:' \$response.StatusCode ')'
} catch {
Write-Host ' ❌ 移动端商城未响应'
};
Write-Host '';
Write-Host '4. 进程状态:';
Write-Host ' Java进程数量:' (Get-Process java -ErrorAction SilentlyContinue).Count;
Write-Host ' Node.js进程数量:' (Get-Process node -ErrorAction SilentlyContinue).Count;
"
进程检查
# 检查Java进程
tasklist | findstr java
# 检查Node.js进程
tasklist | findstr node
🚀 一键重启脚本
Windows 批处理脚本
@echo off
echo === Litemall 服务重启 ===
echo 1. 停止现有服务...
taskkill /f /im java.exe 2>nul
taskkill /f /im node.exe 2>nul
echo 2. 等待进程完全停止...
timeout /t 5
echo 3. 启动后端服务...
start "Litemall Backend" cmd /k "cd /d d:\Project\codeBuddy\litemall && java -Xmx512m -Xms256m -Dfile.encoding=UTF-8 -jar litemall-all\target\litemall-all-0.1.0-exec.jar"
echo 4. 等待后端启动...
timeout /t 30
echo 5. 启动管理后台...
start "Litemall Admin" cmd /k "cd /d d:\Project\codeBuddy\litemall\litemall-admin && npm run dev"
echo 6. 启动移动端商城...
start "Litemall Mobile" cmd /k "cd /d d:\Project\codeBuddy\litemall\litemall-vue && npm run dev"
echo 7. 等待服务启动...
timeout /t 45
echo 8. 检查服务状态...
powershell -Command "
Write-Host '=== 最终服务状态 ===';
try { Invoke-RestMethod -Uri 'http://localhost:8080/wx/home/index' -TimeoutSec 5 -ErrorAction Stop | Out-Null; Write-Host '✅ 后端API (8080) 正常' } catch { Write-Host '❌ 后端API (8080) 异常' };
try { Invoke-WebRequest -Uri 'http://localhost:9527' -TimeoutSec 5 -ErrorAction Stop | Out-Null; Write-Host '✅ 管理后台 (9527) 正常' } catch { Write-Host '❌ 管理后台 (9527) 异常' };
try { Invoke-WebRequest -Uri 'http://localhost:6255' -TimeoutSec 5 -ErrorAction Stop | Out-Null; Write-Host '✅ 移动端商城 (6255) 正常' } catch { Write-Host '❌ 移动端商城 (6255) 异常' };
"
echo === 重启完成 ===
pause
📝 维护指南
日志文件位置
- 后端日志: 控制台输出(可配置为文件)
- 前端日志: 控制台输出
备份策略
# 数据库备份
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqldump.exe" -u litemall -plitemall123456 litemall > backup/litemall_backup_%date:~0,4%%date:~5,2%%date:~8,2%.sql
# 配置文件备份
copy litemall-admin\src\config\dev.env.js backup\admin_config_%date:~0,4%%date:~5,2%%date:~8,2%.js.bak
copy litemall-vue\src\config\dev.env.js backup\mobile_config_%date:~0,4%%date:~5,2%%date:~8,2%.js.bak
性能优化建议
- 后端: 生产环境使用
java -Xmx1024m -Xms512m - 前端: 生产环境使用
npm run build生成静态文件 - 数据库: 配置适当的连接池和缓存
🎯 部署成功标志
当完成以下所有检查项时,表示部署成功:
- Java进程正常运行(PID存在)
- Node.js进程正常运行(2个进程)
- 后端API响应正常(errno: 0)
- 管理后台Web界面可访问
- 移动端商城Web界面可访问
- 数据库连接正常
- 能够登录管理后台(admin/admin123)
📞 技术支持
默认访问信息
- 管理后台: http://localhost:9527 (admin/admin123)
- 移动端商城: http://localhost:6255
- 后端API: http://localhost:8080
API文档
- Swagger: http://localhost:8080/doc.html
- 微信小程序API: http://localhost:8080/wx/**
- 管理后台API: http://localhost:8080/admin/**
文档版本: v1.0
最后更新: 2025-12-09
适用版本: litemall master分支