首页
/ yshop-drink全流程部署指南:从环境搭建到功能验证的7个关键步骤

yshop-drink全流程部署指南:从环境搭建到功能验证的7个关键步骤

2026-04-30 09:39:04作者:侯霆垣

yshop-drink是一款基于Java17+SpringBoot3+Vue3+uniapp技术栈的前后端分离点餐系统,支持多门店管理和saas多租户模式。本指南将从环境准备到功能验证,帮助开发者快速部署这套开源项目部署方案,实现前后端分离配置与多端应用搭建。

1. 环境兼容性检测

1.1 开发环境要求

yshop-drink采用当前流行的技术组合,对开发环境有以下要求:

  • JDK 17+(提供长期支持的Java版本,确保SpringBoot3兼容性)
  • MySQL 8.0+(支持新的JSON特性和性能优化)
  • Redis 6.2+(用于缓存和会话管理)
  • Node.js 16.x+(Vue3及uniapp的运行环境)
  • Maven 3.6+(Java项目构建工具)
  • Git(版本控制工具)

💡 提示:使用java -versionnode -v等命令检查环境版本是否符合要求

1.2 环境检测脚本

在终端执行以下命令,验证开发环境是否就绪:

# 检查Java环境
java -version | grep "17\." || echo "JDK 17+ not found"

# 检查Node环境
node -v | grep "v16\." || echo "Node.js 16+ not found"

# 检查数据库连接
mysql -u root -p -e "SELECT VERSION();" || echo "MySQL connection failed"

[!TIP] 若命令执行失败,请先安装或升级相应组件。推荐使用SDKMAN!管理Java版本,nvm管理Node.js版本。

2. 系统架构解析

2.1 整体架构设计

yshop-drink采用分层架构设计,主要包含以下几个部分:

  • 后端服务层:基于SpringBoot3构建的RESTful API服务,提供业务逻辑处理
  • 数据持久层:使用MybatisPlus操作数据库,支持多数据源配置
  • 前端应用层:包含管理后台(Vue3)和移动端(uniapp)两个独立应用
  • 认证授权层:采用Spring Security OAuth2+JWT实现无状态身份验证机制
  • 缓存层:使用Redis缓存热点数据,提升系统性能

管理系统首页

2.2 核心功能模块

系统主要包含以下功能模块:

  • 商品管理:商品分类、规格、库存管理等功能
  • 订单管理:订单创建、支付、取消等全流程处理
  • 门店管理:多门店配置、配送范围设置等
  • 会员管理:用户信息、积分、充值等会员体系功能
  • 营销管理:优惠券、促销活动等营销工具

3. 组件部署流程

3.1 源码获取

📌 步骤1:克隆项目代码库

git clone https://gitcode.com/gh_mirrors/ys/yshop-drink.git
cd yshop-drink

📌 步骤2:检查项目结构

ls -l
# 应包含以下核心目录
# yshop-drink-boot3/  yshop-drink-vue3/  yshop-drink-uniapp-vue3/

3.2 数据库部署

📌 步骤1:创建数据库

CREATE DATABASE yshop_drink CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

📌 步骤2:导入初始化脚本

mysql -u root -p yshop_drink < yshop-drink-boot3/sql/yixiang-drink-open.sql

💡 提示:默认数据库用户名为root,密码为空。实际部署时请修改为安全密码

3.3 后端服务部署

📌 步骤1:配置数据库连接

# 编辑配置文件
vi yshop-drink-boot3/yshop-server/src/main/resources/application.yml

修改以下配置项:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/yshop_drink?useUnicode=true&characterEncoding=UTF-8
    username: 【root】  # 默认值
    password: 【123456】  # 调整建议:使用强密码
  redis:
    host: 【localhost】  # 默认值
    port: 【6379】  # 默认值

[!TIP] 风险提示:生产环境中不要使用默认密码,建议通过环境变量注入敏感配置

📌 步骤2:构建并启动后端服务

cd yshop-drink-boot3
mvn clean package '-Dmaven.test.skip=true'
java -jar yshop-server/target/yshop-server.jar

📌 步骤3:验证后端服务

curl http://localhost:8080/api/health
# 预期响应:{"status":"UP"}

4. 前端应用配置

4.1 管理后台配置

📌 步骤1:安装依赖

cd yshop-drink-vue3
pnpm install

📌 步骤2:配置API地址

# 创建开发环境配置文件
cat > .env.development << EOF
VUE_APP_API_URL=http://localhost:8080/api
EOF

📌 步骤3:启动开发服务器

npm run dev

👉 指引:浏览器访问 http://localhost:8081 验证前端服务,默认账号密码为admin/123456

4.2 移动端应用配置

📌 步骤1:导入项目到HBuilder

打开HBuilder,选择"导入项目",选择yshop-drink-uniapp-vue3目录

📌 步骤2:配置API地址

// 修改配置文件
// yshop-drink-uniapp-vue3/config/index.js
const config = {
  baseUrl: 'http://localhost:8080/api'  // API基础地址
}

📌 步骤3:运行到小程序模拟器

在HBuilder中,选择"运行" -> "运行到小程序模拟器" -> "微信开发者工具"

5. 关键参数配置

5.1 数据库连接配置

参数名 作用域 数据类型 默认值 调整建议
url 数据库 字符串 jdbc:mysql://localhost:3306/yshop_drink 生产环境使用主从分离地址
username 数据库 字符串 root 创建专用数据库用户,限制权限
password 数据库 字符串 使用强密码,定期更换

5.2 缓存配置

spring:
  redis:
    timeout: 30000  # 连接超时时间(毫秒)
    lettuce:
      pool:
        max-active: 8  # 连接池最大连接数
        max-idle: 8    # 连接池最大空闲连接数
        min-idle: 2    # 连接池最小空闲连接数

💡 提示:根据服务器内存大小调整连接池参数,避免资源浪费

5.3 安全配置

yshop:
  security:
    jwt:
      secret: 【yshop@drink2023】  # JWT密钥
      expiration: 86400000  # 令牌有效期(毫秒)
    ignore:
      urls:  # 无需认证的URL
        - /api/auth/login
        - /api/health

[!TIP] 风险提示:生产环境必须修改默认JWT密钥,建议使用环境变量注入

6. 功能验证与测试

6.1 管理后台功能验证

商品管理界面

📌 步骤1:登录管理后台

访问 http://localhost:8081,使用默认账号admin/123456登录

📌 步骤2:验证核心功能

  1. 商品管理:检查是否可以添加、编辑商品
  2. 订单管理:模拟创建订单,检查订单状态流转
  3. 门店管理:添加测试门店,配置配送范围

6.2 移动端功能验证

📌 步骤1:在微信开发者工具中预览小程序

📌 步骤2:测试关键流程

  1. 浏览商品列表
  2. 加入购物车并下单
  3. 模拟支付流程

6.3 故障排查速查表

问题现象 可能原因 解决方案
后端启动失败 数据库连接错误 检查application.yml中的数据库配置
前端无法访问API 后端服务未启动 确认后端服务已正常运行
登录失败 JWT配置错误 检查JWT密钥是否一致
商品图片无法显示 文件存储路径配置错误 检查upload.path配置项

7. 生产环境部署

7.1 后端服务部署

📌 步骤1:准备生产环境配置文件

# 创建生产环境配置
vi yshop-drink-boot3/yshop-server/src/main/resources/application-prod.yml

📌 步骤2:使用systemd管理服务

[Unit]
Description=yshop-drink backend service
After=network.target mysql.service redis.service

[Service]
User=appuser
WorkingDirectory=/opt/yshop-drink
ExecStart=/usr/bin/java -jar yshop-server.jar --spring.profiles.active=prod
SuccessExitStatus=143
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

7.2 前端应用部署

📌 步骤1:构建生产版本

cd yshop-drink-vue3
npm run build

📌 步骤2:配置Nginx

server {
    listen 80;
    server_name yshop-admin.example.com;
    
    root /opt/yshop-drink/frontend/dist;
    index index.html;
    
    location / {
        try_files $uri $uri/ /index.html;
    }
    
    location /api/ {
        proxy_pass http://localhost:8080/api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

7.3 性能调优建议

  1. JVM参数优化
java -Xms2g -Xmx2g -XX:+UseG1GC -jar yshop-server.jar
  1. 数据库优化

    • 为常用查询添加索引
    • 配置合适的连接池大小
    • 定期备份数据
  2. 缓存策略

    • 热点数据缓存到Redis
    • 配置合理的缓存过期时间

订单管理界面

8. 高可用配置选项

8.1 多实例部署

通过部署多个后端服务实例,配合负载均衡实现高可用:

upstream yshop_backend {
    server 192.168.1.101:8080;
    server 192.168.1.102:8080;
}

server {
    # ...
    location /api/ {
        proxy_pass http://yshop_backend/api/;
        # ...
    }
}

8.2 数据库主从复制

配置MySQL主从复制,提高读操作性能和数据安全性:

# 主库配置
server-id=1
log_bin=mysql-bin
binlog_do_db=yshop_drink

# 从库配置
server-id=2
relay_log=mysql-relay-bin
replicate_do_db=yshop_drink

[!TIP] 高可用配置建议在业务量达到一定规模后实施,初期单实例部署即可满足需求

9. 常见配置错误对照表

错误类型 错误信息 解决方案
数据库连接错误 Access denied for user 'root'@'localhost' 检查数据库用户名密码是否正确
端口占用 Address already in use 更换端口或结束占用进程
依赖冲突 NoClassDefFoundError 检查Maven依赖版本是否冲突
权限不足 Permission denied 检查文件/目录权限设置

通过以上步骤,您已经完成了yshop-drink项目的全流程部署。如需进一步定制开发,可以参考项目源码中的注释和文档,扩展系统功能以满足特定业务需求。

登录后查看全文
热门项目推荐
相关项目推荐