Files
vifo a7f3ee3565 refactor: 全局替换 spring-ai -> rui-framework
同步仓库名称变更,涉及 16 个文件 66 处引用:
- ai-skills: 菜单配置
- backend/guides: AI操作手册、环境配置、部署、gitnexus、opencode 工作流
- backend: 模块创建规则、通信规范、协作工作流、实施规范
- frontend: 收银设计、管理后台实施计划
- standards: 数据库设计规范
2026-06-08 12:56:39 +08:00

6.1 KiB
Raw Permalink Blame History

部署指南

🎯 部署架构

┌─────────────────────────────────────────┐
│              Nginx 网关                  │
│         (负载均衡/静态资源)               │
└──────────────┬──────────────────────────┘
               │
       ┌───────┴───────┐
       ▼               ▼
┌─────────────┐  ┌─────────────┐
│ 前端静态资源  │  │ rui-gateway │
│ (dist目录)   │  │  Spring Cloud│
└─────────────┘  │   Gateway    │
                 └──────┬──────┘
                        │
           ┌────────────┼────────────┐
           ▼            ▼            ▼
     ┌─────────┐ ┌─────────┐ ┌─────────┐
     │rui-auth │ │rui-     │ │rui-     │
     │(认证)   │ │service  │ │cashier  │
     └─────────┘ │(系统)   │ │(收银)   │
                 └─────────┘ └─────────┘
                               │
                        ┌──────┴──────┐
                        ▼             ▼
                  ┌──────────┐ ┌──────────┐
                  │rui-payment│ │  MySQL   │
                  │ (支付)    │ │ (数据库)  │
                  └──────────┘ └──────────┘

🐳 Docker 部署

1. 构建镜像

# 进入后端目录
cd ~/rhkj/rui-framework/backend

# Maven 打包
mvn clean package -DskipTests

# 构建 Docker 镜像(以 gateway 为例)
cd rui-gateway
docker build -t rui-gateway:latest .

# 构建其他服务...
cd ../rui-auth && docker build -t rui-auth:latest .
cd ../rui-service/rui-service-system && docker build -t rui-service-system:latest .

2. docker-compose.yml

version: '3.8'

services:
  # MySQL
  mysql:
    image: mysql:8.0
    container_name: rui-mysql
    environment:
      MYSQL_ROOT_PASSWORD: root123
      MYSQL_DATABASE: rui_cloud
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql

  # Redis
  redis:
    image: redis:7-alpine
    container_name: rui-redis
    ports:
      - "6379:6379"

  # Nacos (注册中心)
  nacos:
    image: nacos/nacos-server:v2.2.3
    container_name: rui-nacos
    environment:
      MODE: standalone
    ports:
      - "8848:8848"

  # Gateway
  gateway:
    image: rui-gateway:latest
    container_name: rui-gateway
    ports:
      - "8080:8080"
    depends_on:
      - nacos

  # Auth
  auth:
    image: rui-auth:latest
    container_name: rui-auth
    depends_on:
      - nacos
      - mysql
      - redis

  # Service
  service-system:
    image: rui-service-system:latest
    container_name: rui-service-system
    depends_on:
      - nacos
      - mysql
      - redis

volumes:
  mysql-data:

3. 启动服务

# 启动所有服务
docker-compose up -d

# 查看日志
docker-compose logs -f gateway

# 停止服务
docker-compose down

🚀 生产环境部署

1. 服务器准备

服务器 配置 部署内容
服务器 1 4C8G Gateway + Auth + Nacos
服务器 2 4C8G Service + Cashier + Payment
服务器 3 4C8G MySQL + Redis
服务器 4 2C4G Nginx + 前端静态资源

2. 部署脚本

#!/bin/bash
# deploy.sh - 生产环境部署脚本

set -e

# 配置
SERVER_USER="root"
SERVER_IP="192.168.1.100"
JAR_PATH="target/*.jar"
BACKUP_DIR="/opt/backup"
APP_DIR="/opt/rui"

# 备份旧版本
echo "备份旧版本..."
ssh $SERVER_USER@$SERVER_IP "mkdir -p $BACKUP_DIR && cp $APP_DIR/*.jar $BACKUP_DIR/ 2>/dev/null || true"

# 上传新版本
echo "上传新版本..."
scp $JAR_PATH $SERVER_USER@$SERVER_IP:$APP_DIR/

# 重启服务
echo "重启服务..."
ssh $SERVER_USER@$SERVER_IP "cd $APP_DIR && ./restart.sh"

echo "部署完成!"

📊 监控与日志

日志查看

# 查看实时日志
docker logs -f rui-gateway

# 查看最近 100 行
docker logs --tail=100 rui-gateway

# 查看指定时间范围
docker logs --since="2024-01-01T00:00:00" rui-gateway

健康检查

# Gateway 健康检查
curl http://localhost:8080/actuator/health

# 服务注册状态
curl http://localhost:8848/nacos/v1/ns/instance/list?serviceName=rui-gateway

🔧 常见问题

1. 服务无法注册到 Nacos

原因Nacos 地址配置错误 解决

spring:
  cloud:
    nacos:
      discovery:
        server-addr: nacos:8848  # 使用容器名或 IP

2. 数据库连接失败

原因MySQL 未启动或网络不通 解决

# 检查 MySQL 状态
docker ps | grep mysql

# 测试连接
docker exec -it rui-mysql mysql -uroot -p -e "SELECT 1"

3. 端口冲突

原因:端口被占用 解决

# 查看端口占用
netstat -tlnp | grep 8080

# 修改 docker-compose.yml 端口映射
ports:
  - "8081:8080"  # 宿主机8081映射到容器8080

📈 性能优化

JVM 参数

java -jar \
  -Xms512m \
  -Xmx1024m \
  -XX:+UseG1GC \
  -XX:MaxGCPauseMillis=200 \
  app.jar

连接池配置

spring:
  datasource:
    hikari:
      minimum-idle: 5
      maximum-pool-size: 20
      idle-timeout: 300000
      max-lifetime: 1200000
      connection-timeout: 20000

🔄 滚动更新

# 1. 启动新版本(不停止旧版本)
docker-compose up -d --no-deps --scale gateway=2 gateway

# 2. 等待新版本健康检查通过
sleep 30

# 3. 停止旧版本
docker-compose stop gateway_1

# 4. 移除旧版本
docker-compose rm -f gateway_1

最后提醒:生产环境部署前务必在测试环境验证!