From 00cde4676a57e16b9a21c8ebdd207add3faf9004 Mon Sep 17 00:00:00 2001 From: wangqifan Date: Wed, 9 Jul 2025 22:42:52 +0800 Subject: [PATCH] first commit --- .gitignore | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 342 insertions(+) create mode 100644 .gitignore create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f098b97 --- /dev/null +++ b/.gitignore @@ -0,0 +1,168 @@ +# === Node.js 前端相关 === +# 依赖目录 +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# 构建产物 +dist/ +build/ +.output/ +.nuxt/ +.vite/ + +# 环境变量文件 +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# 缓存 +.cache/ +.parcel-cache/ +.npm/ +.eslintcache + +# === Python 后端相关 === +# 字节码文件 +__pycache__/ +*.py[cod] +*$py.class + +# 分发/打包 +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# 虚拟环境 +venv/ +env/ +ENV/ +.venv/ +.env/ +.virtualenv/ + +# Flask实例文件夹 +instance/ + +# 数据库 +*.db +*.sqlite +*.sqlite3 + +# === IDE 和编辑器 === +# VS Code +.vscode/ +*.code-workspace + +# PyCharm +.idea/ +*.iml +*.ipr +*.iws + +# Sublime Text +*.sublime-project +*.sublime-workspace + +# Vim +*.swp +*.swo +*~ + +# Emacs +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc + +# === 系统文件 === +# macOS +.DS_Store +.AppleDouble +.LSOverride +Icon + +# Windows +Thumbs.db +ehthumbs.db +Desktop.ini +$RECYCLE.BIN/ + +# Linux +*~ + +# === 日志文件 === +logs/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# === 临时文件 === +*.tmp +*.temp +*.swp +*.swo + +# === 测试覆盖率 === +coverage/ +*.cover +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# === 其他 === +# 备份文件 +*.bak +*.backup + +# 压缩文件 +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# 配置文件(可能包含敏感信息) +config/local.py +config/production.py +.env.production + +# 上传文件目录 +uploads/ +static/uploads/ + +# SSL证书 +*.pem +*.crt +*.key + +# 文档构建 +docs/_build/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e7cb2d4 --- /dev/null +++ b/README.md @@ -0,0 +1,174 @@ +# 服务器监控管理平台 + +## 项目简介 + +这是一个基于Vue3 + Flask + MySQL的企业级服务器监控管理平台,支持服务器管理、脚本管理、批量执行、用户权限管理等功能。 + +## 技术架构 + +### 前端技术栈 +- **Vue 3** - 渐进式JavaScript框架 +- **Ant Design Vue** - 企业级UI组件库 +- **Tailwind CSS** - 实用程序优先的CSS框架 +- **Pinia** - Vue状态管理 +- **Vue Router** - 官方路由管理器 +- **Axios** - HTTP客户端 + +### 后端技术栈 +- **Flask** - 轻量级Web应用框架 +- **SQLAlchemy** - Python ORM +- **MySQL 8.0** - 关系型数据库 +- **JWT** - JSON Web Token认证 +- **Paramiko** - SSH客户端库 + +## 功能特性 + +### 🔐 用户认证与权限管理 +- JWT Token认证 +- 基于角色的权限控制(RBAC) +- 用户状态管理(启用/禁用) + +### 🖥️ 服务器管理 +- 服务器信息维护(IP、端口、用户名等) +- 实时连接状态检测 +- 服务器连接测试 + +### 📝 脚本管理 +- 支持Shell、Python、SQL脚本 +- 脚本内容编辑器 +- 脚本分类和版本管理 + +### ⚡ 批量执行 +- 选择多台服务器批量执行脚本 +- 并发执行,提高效率 +- 实时查看执行结果和输出 +- 执行历史记录查询 + +### 📊 控制台面板 +- 关键指标统计 +- 最近执行记录 +- 服务器状态概览 + +## 安装部署 + +### 环境要求 +- Node.js 16+ +- Python 3.8+ +- MySQL 8.0+ + +### 前端部署 + +1. 安装依赖 +\`\`\`bash +npm install +\`\`\` + +2. 开发环境运行 +\`\`\`bash +npm run dev +\`\`\` + +3. 生产构建 +\`\`\`bash +npm run build +\`\`\` + +### 后端部署 + +1. 创建虚拟环境 +\`\`\`bash +cd backend +python -m venv venv +source venv/bin/activate # Windows: venv\\Scripts\\activate +\`\`\` + +2. 安装依赖 +\`\`\`bash +pip install -r requirements.txt +\`\`\` + +3. 配置数据库 +- 创建MySQL数据库 \`server_monitor\` +- 修改 \`app.py\` 中的数据库连接配置 + +4. 初始化数据库 +\`\`\`bash +python init_db.py +\`\`\` + +5. 运行应用 +\`\`\`bash +python app.py +\`\`\` + +### 数据库配置 + +创建MySQL数据库: +\`\`\`sql +CREATE DATABASE server_monitor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +\`\`\` + +## 使用说明 + +### 默认账户 +- 用户名:\`admin\` +- 密码:\`admin123\` + +### 基本使用流程 + +1. **登录系统** - 使用默认管理员账户登录 +2. **添加服务器** - 在服务器管理页面添加要管理的服务器 +3. **创建脚本** - 在脚本管理页面创建执行脚本 +4. **批量执行** - 选择服务器和脚本进行批量执行 +5. **查看结果** - 查看执行结果和历史记录 + +### 权限说明 + +系统支持三种角色: +- **管理员(admin)** - 拥有所有权限 +- **操作员(operator)** - 可执行脚本,管理服务器和脚本 +- **查看员(viewer)** - 只能查看信息,不能进行操作 + +## 项目结构 + +\`\`\` +cloudPlat/ +├── src/ # 前端源码 +│ ├── api/ # API接口 +│ ├── components/ # 公共组件 +│ ├── layout/ # 布局组件 +│ ├── router/ # 路由配置 +│ ├── store/ # 状态管理 +│ ├── views/ # 页面组件 +│ └── style.css # 全局样式 +├── backend/ # 后端源码 +│ ├── routes/ # API路由 +│ ├── models.py # 数据模型 +│ ├── app.py # Flask应用 +│ └── requirements.txt # 依赖包 +├── package.json # 前端依赖配置 +├── vite.config.js # Vite配置 +└── README.md # 项目说明 +\`\`\` + +## 开发说明 + +### 代码规范 +- 遵循ESLint和Prettier代码格式化 +- 使用TypeScript类型检查(推荐) +- 组件命名采用PascalCase +- 文件命名采用kebab-case + +### 安全特性 +- JWT Token过期机制 +- 密码哈希存储 +- SQL注入防护 +- CORS跨域保护 + +## 许可证 + +MIT License + +## 技术支持 + +如有问题,请提交Issue或联系开发团队。 \ No newline at end of file