电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
文章目录
- [电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!](#电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!)
-
- 1.前言
- [2.正文: Service Manager 使用说明](#2.正文: Service Manager 使用说明)
- 3.小结
Github项目地址: 点击直达
1.前言
在日常用数据库等服务的时候, 每隔一段时间会发现服务会自动消失.
通过 ai 的回答我也没有从中找到解决的方法. 对于我个人而言我是不会随意挪动这些文件以及配置的. 不知道是不是因为其他应用干扰. 所以我找出了最简单的办法. 也就是自己写一个小型的项目来做管理. 现在无论服务里面有没有. 通过你第一次设置的路径, 以后如果没有移动位置的话, 运行服务就可以一键实现了. 作为一个快速的工具. 其最大的优点就是便捷. 直接使用电脑自带的浏览器. 没有额外繁琐的图形化界面. 下面是项目的使用教学.
2.正文: Service Manager 使用说明
本地服务管理工具,基于 Vite + React + Hono + tRPC 构建,用于在 Windows 上统一管理 MySQL、Redis、Nginx 等本地服务。
环境要求
| 项目 | 版本要求 |
|---|---|
| Node.js | >= 18.0.0 |
| npm | >= 9.0.0 |
| 操作系统 | Windows 10 / Windows 11 |
如果尚未安装 Node.js,请访问 https://nodejs.org 下载 LTS 版本并安装。
安装步骤
1. 解压文件
将 ServiceManager-v1.0.0.zip 解压到任意目录,例如:
D:\Tools\ServiceManager\
2. 安装依赖
进入服务管理器目录并安装依赖:
powershell
cd ServiceManager\service-manager\app
npm install
安装过程可能需要 1-3 分钟,取决于网络环境。
3. 启动开发服务器
powershell
npm run dev
启动成功后,在浏览器中打开:
http://localhost:5173
功能说明
添加服务
- 点击右上角 "添加服务" 按钮
- 填写服务信息:
- 服务名称 :如
MySQL 5.7、Redis - 服务类型:MySQL / Redis / Nginx / 自定义
- 启动命令:服务的启动命令行
- 工作目录(可选):服务运行的工作目录
- 环境变量(可选):JSON 格式的环境变量
- 需要管理员权限:如果服务需要系统级权限(如 MySQL),请勾选此项
- 开机自动启动:服务管理器启动时自动启动该服务
- 服务名称 :如
- 点击 "添加" 保存
常用服务启动命令示例
MySQL
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console
注意:MySQL 通常需要管理员权限才能启动,请勾选 "需要管理员权限"。
Redis
redis-server.exe "C:\Program Files\Redis\redis.windows.conf"
或简化为:
redis-server.exe
Nginx
nginx.exe
启动 / 停止 / 重启服务
- 启动 :点击服务卡片上的 "启动" 按钮
- 如果服务需要管理员权限,会弹出 UAC 窗口,点击 "是" 即可
- 停止 :服务运行中,点击 "停止" 按钮
- 需要管理员权限的服务,停止时同样需要 UAC 确认
- 重启 :点击 "重启" 按钮
查看日志
点击服务卡片上的 终端图标(<_>),可以打开日志窗口实时查看服务输出。
- 支持查看最近 200 行日志
- 支持 清空日志
- 日志会自动刷新(每 2 秒)
清除日志
- 在日志弹窗中点击 "清空日志"
- 或在服务卡片上点击 橡皮擦图标 直接清除该服务的日志
删除服务
- 点击服务卡片上的 垃圾桶图标
- 在确认弹窗中点击 "删除"
删除服务前会自动停止该服务。
管理员权限说明
部分服务(如 MySQL)需要管理员权限才能正常启动。对于这类服务:
- 在添加/编辑服务时,勾选 "需要管理员权限"
- 启动时会弹出 Windows UAC 窗口
- 点击 "是" 授予权限
- 服务将在管理员权限下运行
停止需要管理员权限的服务时,同样会弹出 UAC 窗口,点击 "是" 即可停止。
常见问题
Q1: 点击启动后状态一直显示"已停止"
可能原因:
- 启动命令路径错误
- 服务不需要管理员权限但勾选了(或相反)
解决方法:
- 检查启动命令是否正确
- 在 CMD 中手动运行该命令,确认能正常启动
- 确认"需要管理员权限"选项是否正确
Q2: 启动时提示 EBUSY 错误
可能原因:该服务的日志文件被之前的进程锁定。
解决方法:
- 手动在任务管理器中结束对应的进程(如
mysqld.exe、redis-server.exe) - 或者重启电脑后再试
Q3: 如何关闭项目后自动停止所有服务?
正常关闭 :按 Ctrl + C 关闭开发服务器,所有通过本工具启动的服务会自动停止。
直接关闭窗口 :如果直接关闭了 CMD/PowerShell 窗口,工具会尽可能在退出时停止服务。建议始终使用 Ctrl + C 正常关闭。
Q4: 服务已经启动了但日志窗口为空
可能原因:
- 服务输出被缓冲
- 启动命令没有将日志输出到 stdout/stderr
解决方法 :在启动命令中添加 --console 或类似参数(MySQL 需要 --console)。
目录结构
ServiceManager/
├── app/ # 主应用(备用)
│ ├── api/ # 后端 API
│ ├── src/ # 前端源码
│ └── ...
├── service-manager/
│ └── app/ # 服务管理器主程序
│ ├── api/ # Hono + tRPC 后端
│ ├── src/ # React 前端
│ ├── db/ # 数据库 Schema
│ └── data/ # 数据存储(SQLite + 日志)
├── clean-for-release.ps1 # 清理脚本
├── build-release.ps1 # 打包脚本
└── 使用说明.md # 本文件
技术栈
| 层级 | 技术 |
|---|---|
| 前端 | React 19 + TypeScript + Tailwind CSS + shadcn/ui |
| 后端 | Hono + tRPC + Node.js |
| 数据库 | SQLite (better-sqlite3) + Drizzle ORM |
| 构建 | Vite + esbuild |
免责声明
本工具仅用于本地开发环境的服务管理,请勿用于生产环境. 适合用于快速管理电脑配置, 来源于dongzhongcen.
使用管理员权限启动服务时,请确保您了解该服务的安全性.
3.小结
直接下载源代码即可, 或者在 release 中寻找具体想用的版本.
希望对你有帮助!