Files
number/测试服务器部署指南.md
Developer e7d9f47c61 feat: 促销系统完善、发票页重构、前端中文化、订单表迁移及多项优化
前端:

- 发票页完整重构:智能按钮状态、防重复开票、空态引导、订单多选

- 全局中文化:Ant Design Vue locale配置、清除残留英文UI文本

- 新增关于我们、联系我们页面

- 首页活动专区、搜索页、Skill详情等多处优化

后端:

- 订单模块:新增original_amount/promotion_deduct_amount字段及DB迁移

- 促销系统:完善促销规则、过期任务、批量查询等

- 新增RateLimit注解及拦截器、CORS过滤器、Health检查接口

- Logback日志配置、points枚举修复等
2026-03-23 16:38:13 +08:00

7.7 KiB
Raw Blame History

测试服务器部署指南

1. 测试服务器环境准备

1.1 操作系统要求

  • Linux 系统(推荐 Ubuntu 20.04 LTS 或 CentOS 7+
  • 至少 2GB 内存
  • 至少 20GB 磁盘空间
  • 网络连接正常

1.2 系统更新

# Ubuntu/Debian
apt update && apt upgrade -y

# CentOS/RHEL
yum update -y

2. 依赖服务安装

2.1 Java 17 安装

# Ubuntu/Debian
apt install openjdk-17-jdk -y

# CentOS/RHEL
yum install java-17-openjdk -y

# 验证安装
java -version

2.2 MySQL 8.0 安装

# Ubuntu/Debian
apt install mysql-server -y

# CentOS/RHEL
yum install mysql-server -y

# 启动并设置开机自启
systemctl start mysql
systemctl enable mysql

# 安全配置(设置密码等)
# Ubuntu/Debian
mysql_secure_installation
# CentOS/RHEL
sudo mysql_secure_installation

2.3 Redis 7.x 安装

# Ubuntu/Debian
apt install redis-server -y

# CentOS/RHEL
yum install redis -y

# 启动并设置开机自启
systemctl start redis
systemctl enable redis

2.4 RabbitMQ 安装(可选)

# Ubuntu/Debian
apt install rabbitmq-server -y

# CentOS/RHEL
yum install rabbitmq-server -y

# 启动并设置开机自启
systemctl start rabbitmq-server
systemctl enable rabbitmq-server

# 启用管理界面(可选)
rabbitmq-plugins enable rabbitmq_management

2.5 Maven 安装

# Ubuntu/Debian
apt install maven -y

# CentOS/RHEL
yum install maven -y

# 验证安装
mvn --version

3. 项目代码部署

3.1 克隆代码

# 选择部署目录
cd /opt

# 克隆代码(假设使用 Git
git clone <项目仓库地址> openclaw

# 进入项目目录
cd openclaw

3.2 数据库初始化

# 登录 MySQL
mysql -u root -p

# 创建数据库
CREATE DATABASE openclaw DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 退出 MySQL
exit

# 执行初始化脚本
mysql -u root -p openclaw < openclaw-backend/openclaw-backend/src/main/resources/db/init.sql

3.3 配置修改

编辑 openclaw-backend/openclaw-backend/src/main/resources/application.yml 文件:

# 数据库配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/openclaw?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: your_mysql_password
    driver-class-name: com.mysql.cj.jdbc.Driver

# Redis 配置
  data:
    redis:
      host: localhost
      port: 6379
      database: 0

# JWT 密钥(测试环境也建议修改)
jwt:
  secret: your_jwt_secret_key
  expire-ms: 86400000

# 服务端口(可选修改)
server:
  port: 8080

# 微信支付配置(测试环境可保持关闭)
wechat:
  pay:
    enabled: false

# 腾讯云短信配置(测试环境可保持关闭)
tencent:
  sms:
    enabled: false

4. 项目构建

# 进入后端项目目录
cd openclaw-backend/openclaw-backend

# 构建项目
mvn clean package -DskipTests

# 查看构建结果
ls -la target/

5. 服务启动

5.1 方式一:直接运行(开发测试)

# 运行项目
java -jar target/openclaw-backend-1.0.0.jar

5.2 方式二:使用 systemd 管理(推荐)

创建 systemd 服务文件:

vi /etc/systemd/system/openclaw-backend.service

添加以下内容:

[Unit]
Description=OpenClaw Backend Service
After=network.target mysql.service redis.service

[Service]
Type=simple
User=root
WorkingDirectory=/opt/openclaw/openclaw-backend/openclaw-backend
ExecStart=/usr/bin/java -jar target/openclaw-backend-1.0.0.jar
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

启动服务:

# 重新加载 systemd 配置
systemctl daemon-reload

# 启动服务
systemctl start openclaw-backend

# 设置开机自启
systemctl enable openclaw-backend

# 查看服务状态
systemctl status openclaw-backend

6. 服务验证

6.1 健康检查

curl http://localhost:8080/actuator/health

预期响应:

{"status":"UP"}

6.2 访问 Swagger 文档

在浏览器中访问:

http://<服务器IP>:8080/swagger-ui.html

6.3 查看服务日志

# 查看 systemd 服务日志
journalctl -u openclaw-backend -f

# 或查看应用日志(如果配置了日志文件)
tail -f /path/to/logs/openclaw-backend.log

7. 前端部署(可选)

7.1 安装 Node.js

# Ubuntu/Debian
apt install nodejs npm -y

# CentOS/RHEL
yum install nodejs npm -y

# 验证安装
node -v
npm -v

7.2 构建前端项目

# 进入前端目录
cd /opt/openclaw/frontend

# 安装依赖
npm install

# 构建项目
npm run build

# 查看构建结果
ls -la dist/

7.3 部署前端静态文件

使用 Nginx 或 Apache 部署前端静态文件:

# 安装 Nginx
apt install nginx -y  # Ubuntu/Debian
yum install nginx -y  # CentOS/RHEL

# 配置 Nginx
vi /etc/nginx/sites-available/openclaw

添加以下内容:

server {
    listen 80;
    server_name <服务器IP或域名>;

    root /opt/openclaw/frontend/dist;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    # 反向代理后端 API
    location /api {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

启用配置:

# Ubuntu/Debian
ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/

# 测试配置
nginx -t

# 重启 Nginx
systemctl restart nginx

8. 监控与维护

8.1 查看服务状态

# 查看后端服务状态
systemctl status openclaw-backend

# 查看 MySQL 状态
systemctl status mysql

# 查看 Redis 状态
systemctl status redis

# 查看 Nginx 状态(如果部署了前端)
systemctl status nginx

8.2 日志管理

# 查看后端服务日志
journalctl -u openclaw-backend --since "2 days ago"

# 查看 MySQL 日志
journalctl -u mysql

# 查看 Nginx 日志
cat /var/log/nginx/access.log
cat /var/log/nginx/error.log

8.3 服务重启

# 重启后端服务
systemctl restart openclaw-backend

# 重启 MySQL
systemctl restart mysql

# 重启 Redis
systemctl restart redis

# 重启 Nginx
systemctl restart nginx

9. 常见问题排查

9.1 数据库连接失败

  • 检查 MySQL 服务是否运行
  • 检查数据库用户名和密码是否正确
  • 检查数据库 openclaw 是否已创建
  • 检查数据库权限

9.2 Redis 连接失败

  • 检查 Redis 服务是否运行
  • 检查 Redis 配置是否正确
  • 检查防火墙是否允许 Redis 端口

9.3 端口占用

  • 检查端口是否被占用:
    netstat -tlnp | grep 8080
    
  • 如果端口被占用,修改 application.yml 中的端口配置

9.4 依赖服务未启动

  • 确保所有依赖服务都已启动:
    systemctl status mysql redis rabbitmq-server
    

9.5 内存不足

  • 检查服务器内存使用情况:
    free -h
    
  • 如内存不足,考虑增加服务器内存或优化应用配置

10. 部署验证

部署完成后,建议进行以下验证:

  1. 后端服务:访问健康检查端点和 Swagger 文档
  2. 数据库连接:检查数据库连接池状态
  3. API 测试:使用 Postman 或 Swagger 测试核心 API
  4. 前端访问:如果部署了前端,访问前端页面验证功能

11. 安全建议

  1. 修改默认密码:修改 MySQL、Redis 等服务的默认密码
  2. 配置防火墙:只开放必要的端口
  3. 使用 HTTPS:在生产环境中配置 HTTPS
  4. 定期备份:定期备份数据库和关键配置
  5. 监控设置:设置服务器和应用监控

最后更新2026-03-22