# ServerManagement **Repository Path**: jjustright/ServerManagement ## Basic Information - **Project Name**: ServerManagement - **Description**: 服务器管理工具,目前有文件管理器、进程监控、计划任务、webSSH、多主机管理等,准备在自己服务器上用,后续会加入更多运维相关,本项目后端python+flask,前端使用layui+jquery,代码在线编辑使用codemirror,webSSH后端使用paramiko前端xterm - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 3 - **Created**: 2020-04-13 - **Last Updated**: 2024-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ServerManagement [![Python3.4+](https://img.shields.io/badge/python-3.4%2B-green.svg)](https://github.com/cksgf/ServerManagement) 服务器管理工具,目前有文件管理器、进程监控、计划任务、webSSH、多主机管理、本地桌面、内网穿透等,后续会加入更多运维相关,本项目后端python+flask
[![更新日志](https://img.shields.io/badge/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97-%E7%82%B9%E6%AD%A4%E6%9F%A5%E7%9C%8B-brightgreen.svg)](readme/更新日志.md) ## 功能介绍 ### 1.文件管理 兼容windows和linxu的文件管理器,目前有文件的批量压缩、下载、重命名、文件内容在线编辑等.
文件管理器中进行下载时,若下载的是文件,将会直接下载,若为目录,则会压缩为zip后下载
文件后缀为`.zip`,`.gz`,`.tar`的,可以在线解压
并提供一个批量文件操作的按钮,支持跨文件夹操作,后续可能会加入更多功能
![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/文件管理.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/文件管理-选中.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/文件管理-编辑.png) ### 2.进程监控 显示CPU、内存、磁盘状态,并实时显示网速
同时显示了进程以及网络进程,点击进程名可以查看进程详细信息
![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/进程监控-详细.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/进程监控-总览.png) ### 3.计划任务 可以设定以秒为单位的循环执行,也可以设定规则,如每周三的12:50:30,每月的23号15:30:00
![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/计划任务.png) ### 4.shell 一个是个比较low的webSSH,最近可能没时间去完善这一块
还有一个是多主机批量执行shell,支持root身份运行(目前很简陋,后续会添加更多功能)
![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/SSH.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/SSH链接.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/远程主机1.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/远程主机2.png) ### 5.资源监控 本质上就是一个定时储存服务器资源使用情况的定时任务,前端请求到储存的数据后解析,最后用echarts生成折线图,为了尽量少的占用服务器资源,解析操作都是在网页前端进行的。
![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/资源监控.png) ### 6.便捷操作 现在只有一个快捷按钮的功能,就是可以自行设定一个常用的shll,方便快速调用,执行前可以做出修改,未来会加入其他我的脑洞...
![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/创建快捷按钮.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/查看已创建的快捷方式.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/执行前查看.png) ### 7.本地桌面 此功能仅限windows可用 ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/本地桌面.png) ### 8.内网穿透 选用功能,将项目下server.zip解压并在有外网IP的服务器上运行,在本地服务器管理工具运行时修改配置(外网服务器需要开启80端口,10000-20000端口,其中80端口为综合管理平台,可以查看所有的连接设备,可以查看其绑定的外网IP+端口,10000-20000端口为内网穿透的绑定端口),即可实现内网穿透,在有外网IP的服务端上一键查看所有连接设备,后续会加入查看所有服务器实时状态等功能 ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/内网穿透.png) ### 9.软件管理 仅在LINUX可用,以添加nginx一键安装配置(支持ubuntu及centos,使用ubuntu的同学使用之前记得更新apt源,推荐使用中科大apt源) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/软件管理-nginx1.png) ![其余界面](https://github.com/cksgf/WebFileManager/blob/master/readme/软件管理-nginx2.png) ## 使用说明 ### 运行本项目需要自行pip安装`flask`,`chardet`,`datetime`, `paramiko`,`pillow`,`psutil`,`pyautogui`
### 或在目录下 python3 -m pip -r install requirements.txt
以Ubuntu为例: 先安装python环境
`apt install python3`
`apt install python3-pip`
然后安装依赖库
`python3 -m pip install flask paramiko pillow datetime chardet pautil `
最后进入项目运行就行了
`python3 index.py`
如果你是windows,记得还需要pip install pyautogui ## 本项目后端给前端传值全部使用json,前端用jq处理、发送请求并生成最终页面
## 其中的文件管理器部分前端给后端传值,大部分采用base64编码
## 使用前切记修改config/config
如果你觉得我做的还可以,请给我个star,它将支持我继续优化及添加更多功能