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:
+57
-72
@@ -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 密钥和初始化管理员密码只应通过环境变量提供。文档中的地址均为示例,不要提交真实凭据。
|
||||
|
||||
Reference in New Issue
Block a user