# 紫光汇智 VDI 管理平台前端服务 ## 项目简介 本项目是紫光汇智 VDI(虚拟桌面基础设施)管理平台的前端服务,负责为企业级桌面云环境提供高效、可靠的 Web 管理界面。系统支持多种操作系统镜像的管理、用户权限控制、桌面分配与监控等功能,助力企业实现桌面云的集中化、自动化运维。 ## 主要功能 - 镜像管理:支持多种操作系统镜像的上传、下载、删除、版本管理 - 用户与权限管理:多角色权限分级,安全可靠 - 桌面分配与监控:支持桌面分配、状态监控、资源统计 - 登录认证:支持多种登录方式,安全便捷 - 响应式设计:适配 PC 和移动端 ## 技术栈 - 前端框架:React + UmiJS + Ant Design - 服务端:Node.js + Express - 进程管理:PM2 - 容器化:Docker 支持 ## 部署方式 ### 1. 使用 Docker 部署 - 支持一键构建和运行 Docker 容器,适合云服务器、生产环境 - 详见下方 Docker 相关命令 ### 2. 使用 PM2 部署 - 适合传统物理机或虚拟机环境,支持进程守护、日志管理 --- # VDI 管理平台 - 服务器部署 ## 📋 概述 这是 VDI 管理平台的前端服务器,使用 Express.js 提供静态文件服务,并通过 PM2 进行进程管理。 ## 🚀 快速开始 ### 1. 安装依赖 ```bash npm install ``` ### 2. 启动服务 #### 方式一:使用启动脚本(推荐) ```bash chmod +x start.sh ./start.sh ``` #### 方式二:手动启动 ```bash # 安装 PM2(如果未安装) npm install -g pm2 # 启动应用 pm2 start ecosystem.config.js ``` ### 3. 访问应用 打开浏览器访问:http://localhost:3000 ## 📊 PM2 管理命令 ### 查看应用状态 ```bash pm2 status ``` ### 查看日志 ```bash # 查看所有日志 pm2 logs vdi-web # 实时查看日志 pm2 logs vdi-web --lines 100 -f ``` ### 重启应用 ```bash pm2 restart vdi-web ``` ### 停止应用 ```bash pm2 stop vdi-web ``` ### 删除应用 ```bash pm2 delete vdi-web ``` ### 监控应用 ```bash pm2 monit ``` ## 🔧 开发模式 ### 使用 nodemon 开发 ```bash npm run dev ``` ### 直接启动 ```bash npm start ``` ## 📁 目录结构 ``` serve/ ├── dist/ # 前端构建文件 ├── logs/ # 日志文件 ├── index.js # Express 服务器 ├── package.json # 依赖配置 ├── ecosystem.config.js # PM2 配置 ├── start.sh # 启动脚本 ├── stop.sh # 停止脚本 └── README.md # 说明文档 ``` ## ⚙️ 配置说明 ### 环境变量 - `PORT`: 服务器端口(默认:3000) - `NODE_ENV`: 运行环境(development/production) ### PM2 配置 - **实例数**: 1个实例 - **内存限制**: 1GB - **自动重启**: 启用 - **日志轮转**: 启用 ## 🔒 安全特性 - 使用 Helmet 增强安全性 - 启用 gzip 压缩 - 静态文件缓存 - 错误处理中间件 ## 📝 日志 日志文件位于 `logs/` 目录: - `combined.log`: 合并日志 - `out.log`: 标准输出日志 - `error.log`: 错误日志 ## 🚨 故障排除 ### 端口被占用 ```bash # 查看端口占用 lsof -i :3000 # 杀死进程 kill -9 ``` ### PM2 进程异常 ```bash # 重置 PM2 pm2 kill pm2 start ecosystem.config.js ``` ### 权限问题 ```bash # 给脚本执行权限 chmod +x start.sh stop.sh ``` ## 📞 技术支持 如有问题,请联系紫光汇智技术支持团队。 ## 项目结构 ```text web-fe/ ├── mock/ # 模拟接口数据 ├── package.json # 前端依赖配置 ├── pnpm-lock.yaml # pnpm锁定文件 ├── README.md # 前端说明文档 ├── serve/ # 服务端(Express+PM2+Docker) │ ├── dist/ # 前端构建产物(静态文件) │ ├── logs/ # 日志目录 │ ├── node_modules/ # 服务端依赖 │ ├── Dockerfile # Docker 构建文件 │ ├── ecosystem.config.js# PM2 配置 │ ├── index.js # Express 启动入口 │ ├── package.json # 服务端依赖配置 │ ├── start.sh # 启动脚本 │ ├── stop.sh # 停止脚本 │ ├── README.md # 服务端说明文档 │ └── ... ├── src/ # 前端源码 │ ├── access.ts │ ├── app.ts │ ├── assets/ │ ├── components/ │ ├── constants/ │ ├── models/ │ ├── pages/ # 页面目录 │ ├── services/ # 接口服务 │ ├── utils/ # 工具函数 │ └── ... ├── tsconfig.json # TypeScript 配置 └── typings.d.ts # 全局类型声明 ``` ---