docs: Refresh deployment and API documentation

- Align deployment guidance with the current three-node Compose topology
- Document the current frontend architecture and development workflow
- Replace the stale API list with a controller-based route index
This commit is contained in:
Toys-A
2026-08-18 23:37:49 +08:00
parent 23c2912ea8
commit 30c17f01e9
12 changed files with 286 additions and 4126 deletions
+57 -72
View File
@@ -1,90 +1,75 @@
## 开发环境步骤
# 开发环境搭建
**安装JDK 17**
本文档对应当前仓库结构。后端配置通过 Nacos 导入,开发环境默认使用 `dev` profile;不要再按旧文档分别启动带固定密码的 MySQL、Redis、MinIO 容器。
## 环境要求
- JDK 17
- Maven 3.9+(或使用 IDE 的 Maven)
- Node.js 18+
- Docker Engine 与 Docker Compose v2
## 启动基础设施
在仓库根目录执行:
```bash
# Ubuntu/Debian
sudo apt install openjdk-17-jdk
# CentOS/RHEL
sudo yum install java-17-openjdk-devel
cd backend
cp .env.example .env
docker compose up -d mysql redis redis-sentinel nacos rmqnamesrv rmqbroker minio sentinel
```
**安装Docker和Docker Compose**
`docker-compose.yml` 会初始化业务数据库和 Nacos schema;Nacos 配置由 `sql/nacos-config-init.sql` 导入。首次启动后确认 Nacos 健康,再启动业务服务。
常用基础设施端口:
| 组件 | 端口 |
| --- | --- |
| MySQL | 3306 |
| Redis / Sentinel | 6379 / 26379 |
| Nacos(HTTP/gRPC) | 8848 / 9848 / 9849 |
| RocketMQ NameServer / Broker | 9876 / 10911 |
| MinIO API / Console | 9100 / 9101 |
| Sentinel Dashboard | 8880 |
## 启动后端
后端模块端口固定为:网关 `9000`、认证 `9001`、用户 `9002`、内容 `9003`、评论 `9004`、推荐 `9005`、管理 `9006`。推荐使用 Docker Compose 一次启动:
```bash
# 安装Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
cd backend
docker compose up -d --build video-gateway video-auth video-user video-content video-comment video-recommend video-admin
```
**安装MySQL 8.0**
本地 IDE 启动时,先启动 Nacos 及依赖,并将 `SPRING_PROFILES_ACTIVE=dev`;各模块的 `application.yml` 会从 Nacos 加载 `common.yaml`、`common-redis-dev.yaml` 和对应服务配置。
## 启动前端
```bash
docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=video_auth -v /data/mysql:/var/lib/mysql mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
cd frontend/video-frontend-web
npm install
npm run dev
cd ../video-frontend-admin
npm install
npm run dev
```
**安装Redis 7.0**
用户端默认端口 `3000`,管理端默认端口 `3100`。Vite 将 `/api` 代理到 `VITE_PROXY_TARGET`,未设置时为 `http://192.168.1.101:9000`;本地开发可在对应前端目录的 `.env.local` 设置为 `http://127.0.0.1:9000`。
## 构建与测试
```bash
docker run -d --name redis7 -p 6379:6379 redis:7.0-alpine
cd backend
mvn test
mvn package -DskipTests
cd ../frontend/video-frontend-web
npm run build
cd ../video-frontend-admin
npm run build
```
**RocketMQ 5.1.4**
```bash
# 先安装NameServer
docker run -d --name rmqnamesrv -p 9876:9876 apache/rocketmq:5.1.4 sh mqnamesrv
# 再安装Broker
docker run -d --name rmqbroker --link rmqnamesrv:namesr -p 10909:10909 -p 10911:10911 -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt" apache/rocketmq:5.1.4 sh mqbroker -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf
```
**minio**
```bash
docker run -d --name minio -p 9002:9000 -p 9001:9001 -v /data/minio:/data -e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" quay.io/minio/minio server /data --console-address ":9001"
```
**安装Nacos 2.3.2**
```bash
docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 -e MODE=standalone -e JVM_XMS=512m -e JVM_XMX=512m nacos/nacos-server:v2.3.2
```
**Sentinel Dashboard 1.8.6**
#### **使用官方发布的 JAR 包自行构建镜像**
1. **创建 `Dockerfile`**
```bash
FROM eclipse-temurin:8-jre
# 下载 Sentinel 1.8.6 官方 JAR
RUN wget -O /sentinel-dashboard.jar \
https://github.com/alibaba/Sentinel/releases/download/1.8.6/sentinel-dashboard-1.8.6.jar
# 设置时区(可选)
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
EXPOSE 8080
CMD ["java", "-Dserver.port=8080", "-Dcsp.sentinel.dashboard.server=localhost:8080", "-jar", "/sentinel-dashboard.jar"]
```
2. **构建镜像**
```bash
docker build -t sentinel-dashboard:1.8.6 .
```
3. **运行容器**
```bash
docker run -d --name sentinel -p 8080:8080 sentinel-dashboard:1.8.6
```
## 配置安全
`.env`、Nacos 密码、JWT secret、MinIO 密钥和初始化管理员密码只应通过环境变量提供。文档中的地址均为示例,不要提交真实凭据。