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

455 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 测试服务器部署指南
## 1. 测试服务器环境准备
### 1.1 操作系统要求
- Linux 系统(推荐 Ubuntu 20.04 LTS 或 CentOS 7+
- 至少 2GB 内存
- 至少 20GB 磁盘空间
- 网络连接正常
### 1.2 系统更新
```bash
# Ubuntu/Debian
apt update && apt upgrade -y
# CentOS/RHEL
yum update -y
```
## 2. 依赖服务安装
### 2.1 Java 17 安装
```bash
# Ubuntu/Debian
apt install openjdk-17-jdk -y
# CentOS/RHEL
yum install java-17-openjdk -y
# 验证安装
java -version
```
### 2.2 MySQL 8.0 安装
```bash
# 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 安装
```bash
# Ubuntu/Debian
apt install redis-server -y
# CentOS/RHEL
yum install redis -y
# 启动并设置开机自启
systemctl start redis
systemctl enable redis
```
### 2.4 RabbitMQ 安装(可选)
```bash
# 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 安装
```bash
# Ubuntu/Debian
apt install maven -y
# CentOS/RHEL
yum install maven -y
# 验证安装
mvn --version
```
## 3. 项目代码部署
### 3.1 克隆代码
```bash
# 选择部署目录
cd /opt
# 克隆代码(假设使用 Git
git clone <项目仓库地址> openclaw
# 进入项目目录
cd openclaw
```
### 3.2 数据库初始化
```bash
# 登录 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` 文件:
```yaml
# 数据库配置
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. 项目构建
```bash
# 进入后端项目目录
cd openclaw-backend/openclaw-backend
# 构建项目
mvn clean package -DskipTests
# 查看构建结果
ls -la target/
```
## 5. 服务启动
### 5.1 方式一:直接运行(开发测试)
```bash
# 运行项目
java -jar target/openclaw-backend-1.0.0.jar
```
### 5.2 方式二:使用 systemd 管理(推荐)
创建 systemd 服务文件:
```bash
vi /etc/systemd/system/openclaw-backend.service
```
添加以下内容:
```ini
[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
```
启动服务:
```bash
# 重新加载 systemd 配置
systemctl daemon-reload
# 启动服务
systemctl start openclaw-backend
# 设置开机自启
systemctl enable openclaw-backend
# 查看服务状态
systemctl status openclaw-backend
```
## 6. 服务验证
### 6.1 健康检查
```bash
curl http://localhost:8080/actuator/health
```
预期响应:
```json
{"status":"UP"}
```
### 6.2 访问 Swagger 文档
在浏览器中访问:
```
http://<服务器IP>:8080/swagger-ui.html
```
### 6.3 查看服务日志
```bash
# 查看 systemd 服务日志
journalctl -u openclaw-backend -f
# 或查看应用日志(如果配置了日志文件)
tail -f /path/to/logs/openclaw-backend.log
```
## 7. 前端部署(可选)
### 7.1 安装 Node.js
```bash
# Ubuntu/Debian
apt install nodejs npm -y
# CentOS/RHEL
yum install nodejs npm -y
# 验证安装
node -v
npm -v
```
### 7.2 构建前端项目
```bash
# 进入前端目录
cd /opt/openclaw/frontend
# 安装依赖
npm install
# 构建项目
npm run build
# 查看构建结果
ls -la dist/
```
### 7.3 部署前端静态文件
使用 Nginx 或 Apache 部署前端静态文件:
```bash
# 安装 Nginx
apt install nginx -y # Ubuntu/Debian
yum install nginx -y # CentOS/RHEL
# 配置 Nginx
vi /etc/nginx/sites-available/openclaw
```
添加以下内容:
```nginx
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;
}
}
```
启用配置:
```bash
# Ubuntu/Debian
ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
# 测试配置
nginx -t
# 重启 Nginx
systemctl restart nginx
```
## 8. 监控与维护
### 8.1 查看服务状态
```bash
# 查看后端服务状态
systemctl status openclaw-backend
# 查看 MySQL 状态
systemctl status mysql
# 查看 Redis 状态
systemctl status redis
# 查看 Nginx 状态(如果部署了前端)
systemctl status nginx
```
### 8.2 日志管理
```bash
# 查看后端服务日志
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 服务重启
```bash
# 重启后端服务
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 端口占用
- 检查端口是否被占用:
```bash
netstat -tlnp | grep 8080
```
- 如果端口被占用,修改 `application.yml` 中的端口配置
### 9.4 依赖服务未启动
- 确保所有依赖服务都已启动:
```bash
systemctl status mysql redis rabbitmq-server
```
### 9.5 内存不足
- 检查服务器内存使用情况:
```bash
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