feat: 促销系统完善、发票页重构、前端中文化、订单表迁移及多项优化
前端: - 发票页完整重构:智能按钮状态、防重复开票、空态引导、订单多选 - 全局中文化:Ant Design Vue locale配置、清除残留英文UI文本 - 新增关于我们、联系我们页面 - 首页活动专区、搜索页、Skill详情等多处优化 后端: - 订单模块:新增original_amount/promotion_deduct_amount字段及DB迁移 - 促销系统:完善促销规则、过期任务、批量查询等 - 新增RateLimit注解及拦截器、CORS过滤器、Health检查接口 - Logback日志配置、points枚举修复等
This commit is contained in:
455
测试服务器部署指南.md
Normal file
455
测试服务器部署指南.md
Normal file
@@ -0,0 +1,455 @@
|
||||
# 测试服务器部署指南
|
||||
|
||||
## 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
|
||||
Reference in New Issue
Block a user