Litemall 电商系统部署文【AI生成】

33 阅读8分钟

Litemall 电商系统部署文档

📋 目录


🛠️ 环境要求

必需软件版本

软件最低版本推荐版本检查命令
JavaJDK 1.8JDK 17+java -version
Maven3.6+3.9.11+mvn --version
MySQL8.0+8.4+mysql --version
Node.js16+22.21.0+node --version
NPM8+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界面访问
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

性能优化建议

  1. 后端: 生产环境使用 java -Xmx1024m -Xms512m
  2. 前端: 生产环境使用 npm run build 生成静态文件
  3. 数据库: 配置适当的连接池和缓存

🎯 部署成功标志

当完成以下所有检查项时,表示部署成功:

  • Java进程正常运行(PID存在)
  • Node.js进程正常运行(2个进程)
  • 后端API响应正常(errno: 0)
  • 管理后台Web界面可访问
  • 移动端商城Web界面可访问
  • 数据库连接正常
  • 能够登录管理后台(admin/admin123)

📞 技术支持

默认访问信息

API文档


文档版本: v1.0
最后更新: 2025-12-09
适用版本: litemall master分支