上次写过一篇这个面板的技术选型与设计笔记,当时说过"打磨到可以拿出来的程度,再写一篇正式的发布文章"。目前项目仍在活跃开发中,不过功能主干推进得比预期顺利,这次先交一份进度更新——也是首次放出真实界面截图。

一、仪表盘:实时监控与远程节点切换

面板仪表盘:实时监控与远程节点切换

仪表盘是每天打开次数最多的页面,几个关键点:

  • 本机 / 远程节点自由切换:左上角"绑定对象"可以在本机与多节点之间切换;远程节点由 Agent 经 WebSocket 反连,每 15 秒上报一次指标,不用在每台机器上单独装监控
  • 四张概览卡:CPU 使用率、内存(总量与已用百分比)、1 分钟负载、系统环境(发行版与已运行时长),一屏看完机器状态
  • 实时曲线:CPU/内存走势与网络流量(下载/上传)图表,3 秒采样
  • 磁盘与进程:各挂载点用量一目了然;CPU 占用 Top 进程直接列出,发现异常进程不用再开终端

左侧导航按使用频率分了三层:基础功能(网站、数据库、软件商店、Docker 容器管理、终端)、系统功能(计划任务、告警策略、文件管理、进程管理、防火墙、SSL 证书)、面板(审计日志、通知与告警、用户管理、系统设置)。

二、软件商店:三种安装形态 + 镜像源加速

软件商店:内置与镜像源模板

软件商店现在的形态比我最初设想的丰富——同一个页面里共存三种安装形态:

形态 代表应用 说明
系统包 Nginx、MySQL/MariaDB、Redis、PostgreSQL、Memcached 经 apt/dnf 安装,systemd 托管,自动检测发行版
二进制 Caddy、MinIO、node_exporter、FRP 服务端 下载官方发行包 → systemd 单元 → 健康检查
脚本 系统优化、Nginx 日志切割清理、Cloudflare DDNS、连通性测试 轻量运维脚本,一键执行可重复运行

商店顶部按「可安装软件 / 运行时环境 / 镜像加速 / 已安装」分区,当前内置 9 款、镜像源扩展 4 款。来源标签直接标在每张卡片上(内置 / 镜像源),安装时也可以选下载源:官方直连、GitHub 加速或阿里云/腾讯云/清华/中科大镜像站。

「运行时环境」区块是最近的重头戏:Node.js / Golang / Python / OpenJDK / PHP 全版本安装,多版本共存、一键设默认、卸载干净,版本清单全部来自真实镜像站。

三、系统设置:版本升级、开放 API 与账号安全

系统设置:概览与账号安全

设置页顶部是四张状态卡:当前用户、开放 API(Api Token 授权,供自动化调用)、访问协议(HTTPS,自签 CA 或自定义证书)、面板版本(检测到新版本会提示升级)。

设置按「账号与安全 / 接入与扩展 / 网络与证书 / 系统运维」四个分区组织。账号改名、改密码保存后强制重新登录;SSH 密钥等敏感数据始终留在本机数据目录,会话到期自动续期。

四、进程管理:进程与 systemd 服务双视图

进程管理:实时状态与控制

进程管理页提供「进程 / systemd 服务」两个视图,默认按 CPU 排序(可切内存),数据 3 秒采样自动刷新,单页展示 100 个进程。每个进程可以直接终止,systemd 服务支持启停/重启/日志查看——机器上跑了什么、谁在吃资源,面板里就能处理,不用开 SSH。

五、最近的踩坑记录

这一个月在真实服务器上冒烟测试,又攒了一批只在实战里才会撞见的坑:

  1. 软链绝对路径:dataDir 是相对路径时,/usr/local/bin 下的软链会断链,node -v 直接失败——运行时与应用的软链、systemd 路径全部改成绝对路径后修复
  2. dpkg 锁:apt 安装被 unattended-upgrades 卡住两分钟——全部 apt 命令加上 DPkg::Lock::Timeout,安装前临时停用 unattended-upgrades、完成后恢复
  3. PHP 包名:php83-fpm → php8.3-fpm,版本点号误删导致 apt 找不到包
  4. 镜像站目录格式:TUNA 的 fancy-index 需要 ?C=N;O=A 参数才能拿到稳定排序;Go 工具链 zip 顶层目录不固定,解压后按文件名探索回退

每一条都写进了回归测试或冒烟清单,这类坑不修掉,面板就只能在自己电脑上好看。

接下来的方向

  • 发布与分发流程打磨(一键安装脚本、Release 流水线)
  • 站点可用性拨测接入告警
  • 更多运行时发行版接入(架构已按发行版扩展预留)
  • 移动端适配与暗色主题

项目仍在开发中,暂不提供下载与演示地址;等打磨到位再写正式的发布文章。