系统部署指南

Docker、K8s 部署步骤

运维管理系统

一个基于 Vue 3 + TypeScript + Node.js 的本地单机版运维管理系统,类似宝塔面板和 1Panel。

© 2024 上海逸付技术有限公司 (Shanghai YiFu Technology Co., Ltd.)


功能特性

核心功能(所有功能使用真实系统数据)

  • 🖥️ 系统监控 - 实时监控 CPU、内存、磁盘、网络使用情况(真实数据)

  • ⚙️ 服务管理 - 管理系统服务的启动、停止、重启(Windows 使用 wmic/net,Linux 使用 systemctl)

  • 📁 文件管理 - 可视化文件浏览器,支持上传、下载、编辑(真实文件系统操作)

  • 🐳 容器管理 - Docker 容器、镜像、网络管理(真实 Docker 命令)

  • 🗄️ 数据库管理 - MySQL实例自动检测、多种备份恢复方式、Binlog管理

    • 🔍 自动检测系统和Docker中的MySQL实例

    • 💾 多种备份方式(完全备份、增量备份、差异备份)

    • 📦 支持mysqldump、XtraBackup、mysqlpump

    • 🔄 从备份恢复、从Binlog恢复

    • 📊 Binlog开启/关闭、查看、下载

    • ⏰ 按位置或时间点恢复Binlog

  • 定时任务 - Cron 任务管理和调度(真实的 node-cron 执行)

  • 🌐 Web服务器管理 - Nginx实例管理、配置文件编辑、格式化校验

    • 🔍 自动检测系统和Docker中的Nginx

    • ⚙️ 启动、停止、重启、重载配置

    • 📝 配置文件在线编辑,自动格式化

    • ✅ 配置文件语法校验

  • 💻 增强终端 - 内置 Web 终端 + 文件管理器(WebSocket 连接到真实 shell)

    • 🎨 8 种主题预设 + 自定义配色

    • 📂 分屏文件管理器(列表/网格视图)

    • 🔐 可视化权限设置

    • ⚙️ 字体和光标自定义

  • 📊 系统信息 - 硬件信息、网络配置、进程列表(真实系统数据)

真实数据说明

本系统所有功能都使用真实的系统数据,而非模拟数据:

  1. 系统监控

    • 使用 systeminformation 库获取真实的系统资源数据

    • 每 2-3 秒自动刷新一次

    • CPU、内存、磁盘、网络数据均为实时采集

  2. 文件管理

    • 真实读取本地文件系统

    • 支持 Windows 和 Linux/macOS 路径

    • 可以进行实际的文件上传、下载、删除、重命名操作

    • 默认起始目录为当前工作目录或用户主目录

  3. 服务管理

    • Windows:使用 wmicnet 命令管理服务

    • Linux:使用 systemctl 命令管理服务

    • 显示真实的服务状态

  4. 进程管理

    • 显示真实的系统进程列表

    • 可以终止进程(Windows: taskkill,Linux: kill)

    • 按 CPU 使用率排序,显示前 50 个进程

  5. Docker 管理

    • 使用真实的 Docker CLI 命令

    • 需要系统已安装 Docker

    • 支持容器、镜像、网络的完整管理

  6. 定时任务

    • 使用 node-cron 真实执行定时任务

    • 支持标准 Cron 表达式

    • 任务在后端真实运行

  7. 终端

    • 通过 WebSocket 连接到真实的 shell

    • Windows:PowerShell

    • Linux/macOS:Bash

    • 支持所有标准终端命令

    • 主题定制:8 种预设主题 + 自定义颜色

    • 分屏布局:上半部分终端,下半部分文件管理

    • 文件管理器

      • 列表视图和网格视图

      • 文件上传、下载、编辑

      • 可视化权限设置(chmod/chown)

      • 搜索和快速操作

    • 样式设置

      • 字体大小(12-24px)

      • 字体选择(Consolas, Monaco 等)

      • 光标样式(块状/下划线/竖线)

      • 光标闪烁开关

技术栈

前端

  • Vue 3 - 渐进式 JavaScript 框架

  • TypeScript - 类型安全

  • Vite - 快速构建工具

  • Element Plus - UI 组件库

  • ECharts - 数据可视化

  • Xterm.js - 终端模拟器

  • Pinia - 状态管理

  • Vue Router - 路由管理

  • Axios - HTTP 客户端

后端

  • Node.js - JavaScript 运行时

  • Express - Web 框架

  • systeminformation - 系统信息库

  • ws - WebSocket 支持

  • node-cron - 定时任务

一键安装(推荐)

Linux/macOS 系统

运行以下命令即可完成安装:

bash

wget -O install.sh https://gitee.com/young-yanjun_admin/ops-master/raw/main/install.sh && bash install.sh

或使用 curl:

bash

curl -fsSL https://gitee.com/young-yanjun_admin/ops-master/raw/main/install.sh | bash

安装脚本会自动完成:

  • ✅ 检测操作系统(CentOS/Ubuntu/Debian)

  • ✅ 安装 Node.js 18.x

  • ✅ 安装 PM2 进程管理器

  • ✅ 下载并安装应用程序

  • ✅ 配置系统服务

  • ✅ 配置防火墙规则

  • ✅ 自动启动服务

Windows 系统

  1. 下载安装脚本:install.bat

  2. 右键点击 install.bat,选择"以管理员身份运行"

  3. 按照提示完成安装

Windows安装脚本会自动完成:

  • ✅ 检查并安装 Node.js

  • ✅ 安装 PM2 进程管理器

  • ✅ 下载并安装应用程序

  • ✅ 配置 Windows 服务

  • ✅ 配置防火墙规则

  • ✅ 设置开机自启

卸载

Linux/macOS:

bash

wget -O uninstall.sh https://gitee.com/young-yanjun_admin/ops-master/raw/main/uninstall.sh && bash uninstall.sh

Windows: 运行 uninstall.bat(以管理员身份)


手动安装(开发环境)

环境要求

  • Node.js >= 16

  • npm 或 yarn

安装依赖

bash

npm install

启动开发环境

同时启动前端和后端:

bash

npm start

或者分别启动:

bash

# 启动前端 (端口 3000)
npm run dev

# 启动后端 (端口 3001)
npm run server

构建生产版本

bash

npm run build

预览生产版本

bash

npm run preview

访问地址

项目结构

``` ywglxt/ ├── src/ # 前端源码 │ ├── api/ # API 接口 │ ├── layout/ # 布局组件 │ ├── router/ # 路由配置 │ ├── utils/ # 工具函数 │ ├── views/ # 页面组件 │ │ ├── dashboard/ # 系统监控 │ │ ├── services/ # 服务管理 │ │ ├── files/ # 文件管理 │ │ ├── docker/ # 容器管理 │ │ ├── database/ # 数据库管理 │ │ ├── cron/ # 定时任务 │ │ ├── terminal/ # 增强终端(新增分屏+主题) │ │ └── system/ # 系统信息 │ ├── App.vue # 根组件 │ ├── main.ts # 入口文件 │ └── style.css # 全局样式 ├── server/ # 后端源码 │ └── index.js # Express 服务器 ├── uploads/ # 文件上传目录 ├── index.html # HTML 模板 ├── vite.config.ts # Vite 配置 ├── tsconfig.json # TypeScript 配置 ├── package.json # 项目配置 ├── README.md # 项目文档 ├── TESTING.md # 测试指南 ├── TERMINAL_GUIDE.md # 终端功能详细说明 └── CHANGELOG.md # 更新日志 ```

功能说明

1. 系统监控

  • 实时显示系统资源使用情况

  • CPU、内存、磁盘、网络使用率图表

  • 自动刷新,3 秒更新一次

  • 支持历史数据展示

2. 服务管理

  • 查看系统服务列表

  • 启动/停止/重启服务

  • 查看服务状态和资源占用

  • 添加自定义服务

3. 文件管理

  • 文件浏览和导航

  • 上传/下载文件

  • 在线编辑文本文件

  • 创建/删除/重命名文件和文件夹

  • 查看文件权限和修改时间

4. 容器管理

  • Docker 容器列表和状态

  • 启动/停止/重启/删除容器

  • 查看容器日志

  • 镜像管理(拉取/删除/运行)

  • Docker 网络管理

5. 数据库管理

  • 多数据库支持(MySQL、PostgreSQL、Redis)

  • SQL 查询界面

  • 表结构查看

  • 数据库备份

6. 定时任务

  • Cron 任务管理

  • 启用/禁用任务

  • 立即执行任务

  • 查看任务执行历史

  • Cron 表达式支持

7. 终端工具

  • 多标签终端支持

  • 命令执行

  • 自适应窗口大小

  • 命令历史

  • 新增:主题定制

    • 8 种预设主题

    • 自定义背景、前景、光标、选中颜色

  • 新增:集成文件管理器

    • 分屏布局(终端 + 文件管理)

    • 列表视图和网格视图

    • 文件搜索和快速操作

    • 在线编辑文本文件

  • 新增:权限管理

    • 可视化权限设置界面

    • 支持 chmod/chown 操作(Linux/macOS)

  • 新增:样式设置

    • 字体大小和字体选择

    • 光标样式和闪烁控制

8. 系统信息

  • 系统详细信息

  • 硬件配置

  • 网络接口

  • 磁盘分区

  • 进程列表

开发说明

添加新功能

  1. src/views/ 创建新页面组件

  2. src/router/index.ts 添加路由配置

  3. src/api/ 创建对应的 API 接口

  4. server/index.js 添加后端接口实现

自定义配置

  • 修改 vite.config.ts 调整前端配置

  • 修改 server/index.js 中的 PORT 变量调整后端端口

注意事项

  1. 权限要求

    • 某些功能需要管理员权限才能执行(如服务管理、进程终止)

    • Windows:建议以管理员身份运行

    • Linux/macOS:某些操作可能需要 sudo 权限

  2. 安全性

    • 本系统直接操作真实系统资源,请谨慎使用

    • 生产环境建议添加认证和授权机制

    • 建议在安全的内网环境中使用

  3. 兼容性

    • 已在 Windows 10/11 上测试

    • 已在 Ubuntu/Debian Linux 上测试

    • macOS 需要额外测试某些功能

  4. Docker

    • 容器管理功能需要安装 Docker

    • 确保 Docker daemon 正在运行

    • 用户需要有 Docker 操作权限

  5. 文件管理

    • 文件操作是真实的,删除文件会永久删除

    • 建议不要操作系统关键文件

    • 上传的文件临时保存在 uploads/ 目录

  6. 终端

    • 终端命令是真实执行的

    • 危险命令会直接影响系统

    • 建议在测试环境中使用

未来规划

  • 用户认证和授权

  • 多用户支持

  • SSL 证书管理

  • 防火墙配置

  • 备份和恢复

  • 日志查看和分析

  • 性能优化建议

  • 安全扫描和告警

  • 插件系统

  • 多语言支持

贡献

欢迎提交 Issue 和 Pull Request!

项目仓库:https://gitee.com/young-yanjun_admin/ops-master

技术支持

上海逸付技术有限公司
Shanghai YiFu Technology Co., Ltd.

许可证

MIT License


© 2024 上海逸付技术有限公司 版权所有