🚀 数智健调 - 部署架构图
生产环境部署架构
graph TB
subgraph Internet["互联网"]
USER[用户]
end
subgraph CDN["CDN加速"]
STATIC[静态资源]
end
subgraph Nginx["Nginx服务器"]
PROXY[反向代理]
STATIC_SVC[静态资源服务]
end
subgraph AppServer["应用服务器"]
PM2[PM2进程管理]
NODE[Node.js]
EXPRESS[Express App]
end
subgraph DataLayer["数据层"]
MYSQL[(MySQL 8.0)]
REDIS[(Redis缓存)]
end
USER -->|HTTPS| CDN
CDN --> Nginx
USER -->|HTTPS| Nginx
Nginx -->|静态资源| STATIC_SVC
Nginx -->|API请求| PROXY
PROXY -->|/api/*| AppServer
PM2 --> NODE
NODE --> EXPRESS
EXPRESS --> MYSQL
EXPRESS --> REDIS
开发环境架构
graph LR
subgraph Dev["开发环境"]
VSCODE[VS Code]
ANGULAR[Angular CLI
ng serve
:4200]
NODEMON[ts-node-dev
:3000]
MYSQL_DEV[(MySQL
:3306)]
end
VSCODE --> ANGULAR
VSCODE --> NODEMON
ANGULAR -->|HTTP| NODEMON
NODEMON --> MYSQL_DEV
CI/CD流程
flowchart LR
A[代码提交] --> B[Git Push]
B --> C{代码检查}
C -->|通过| D[构建前端]
C -->|失败| E[通知开发者]
D --> F[构建后端]
F --> G[运行测试]
G -->|通过| H[部署到服务器]
G -->|失败| E
H --> I[健康检查]
I -->|成功| J[部署完成]
I -->|失败| K[回滚]
技术栈版本
mindmap
root((数智健调
技术栈))
前端
Angular 20
TypeScript 5.3
SCSS
ECharts 5.x
RxJS 7.x
后端
Node.js 18+
Express 4.18
TypeORM 0.3
class-validator
Winston
数据库
MySQL 8.0
Redis 可选
工具
Git
VS Code
PM2
Nginx
部署说明
- 前端部署:ng build --configuration production 构建后部署到Nginx
- 后端部署:npm run build 编译后使用PM2管理进程
- 数据库:MySQL 8.0,支持主从复制
- 缓存:可选Redis缓存热点数据
Nginx配置示例
server {
listen 80;
server_name your-domain.com;
# 前端静态资源
location / {
root /var/www/html;
try_files $uri $uri/ /index.html;
}
# API反向代理
location /api {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
}