手动部署文档
TDuck 部署文档
本文档详细介绍了 TDuck 项目的部署步骤。在开始之前,请确保已满足以下环境要求。
1. 环境要求
- 操作系统: Linux (推荐 CentOS 7+ 或 Ubuntu 18.04+)
- Java: JDK 1.8+
- 数据库: MySQL 5.7+
- 缓存: Redis (版本无特殊要求)
- 反向代理: Nginx
2. 数据库准备
创建数据库: 登录 MySQL,创建一个名为
tduck-x的数据库,并设置字符集为utf8mb4。CREATE DATABASE `tduck-x` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;导入初始化数据: 按顺序执行以下 SQL 文件(位于
tduck-x-platform/doc目录下):tduck-x.sql(核心表结构及数据)
3. 后端部署 (tduck-api)
获取部署包: 准备好
tduck-api.jar包。准备运行环境: 在服务器创建部署目录,例如
/application/tduck。启动后端: 将
tduck-api.jar和配置文件application-custom.yml放在同一目录下,执行以下命令启动:# --spring.profiles.active=custom 会自动加载当前目录下的 application-custom.yml nohup java -jar tduck-api.jar --spring.profiles.active=custom > tduck.log 2>&1 &默认启动端口为
8996。
4. 前端部署
- 获取部署包:
准备好前端打包后的静态资源包(通常是一个
dist目录或压缩包)。 - 上传并解压:
将静态资源上传至服务器目录,例如
/usr/share/nginx/html/tduck。
5. Nginx 配置
修改 Nginx 配置文件,参考以下配置实现前后端联调:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或IP
# 1. 静态资源配置
location / {
root /usr/share/nginx/html/tduck; # 指向前端解压后的目录
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# 2. 后端接口转发
location /tduck-api/ {
proxy_pass http://127.0.0.1:8996/tduck-api/;
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;
}
# 3. 文件存储转发 (如果使用了本地文件存储)
location /file/ {
alias /application/static/upload/; # 对应后端配置的文件存储路径
}
}
修改完成后,重启 Nginx:
nginx -s reload
6. 验证部署
- 访问
http://your_domain.com,应能看到前端登录页面。 - 查看后端日志
tduck.log确认启动正常。
附录:可选 - 源码编译打包命令
如果您需要从源码重新打包,可以参考以下命令:
A. 后端打包 (Maven)
在 tduck-x-platform 根目录下执行:
mvn clean package -DskipTests
生成的包位于 tduck-api/target/tduck-api.jar。
B. 前端打包 (pnpm)
在 tduck-x-front 根目录下执行:
pnpm install
pnpm build
生成的资源位于 dist 目录。