数据与配置
面板与节点的配置、用户和实例状态主要放在各自的 data/ 目录下,实体默认是普通 JSON 文件,也可选用 Redis。市场插件在生产环境安装到 plugins/,日志在同级 logs/,完整迁移时也要一并处理。
面板:web/data/(源码仓库为 panel/data/)
| 路径 | 内容 |
|---|---|
|
站点主配置(端口、路径前缀、语言、Redis、SSL、外观等),见下表。 |
|
登录与权限策略:登录提示、 |
|
市场设置: |
|
每个已连接节点一条: |
|
用户账号:密码哈希、权限级别、API Key、实例授权。 |
|
插件开关与配置覆盖,见下文。 |
|
面板记录已下发到哪些节点的市场插件安装信息;插件文件本身不在这里。 |
|
桌面模式的窗口布局(桌面模式)。 |
|
操作审计日志。 |
|
当前公告。 |
|
市场缓存与版本标记。运行日志位于同级 |
SystemConfig 常用字段
| 字段 | 默认 | 说明 |
|---|---|---|
|
|
面板监听端口。 |
|
监听地址,留空为所有网卡。 |
|
|
|
保留的兼容字段;当前运行时没有单独监听该端口。 |
|
路径前缀,用于与其他服务共用端口(启用 HTTPS)。 |
|
|
|
反向代理模式下从哪个头取客户端 IP。 |
|
CORS 跨域。 |
|
|
压缩与下载限制。 |
|
|
面板语言。 |
|
|
配置后实体存储改用 Redis;留空用文件。 |
|
|
内置 HTTPS。 |
|
|
站点标题、亮/暗色 Logo 与背景; |
节点:daemon/data/
| 路径 | 内容 |
|---|---|
|
节点主配置,见下表。 |
|
每个实例的配置(启动命令、目录、内存、Docker 等); |
|
实例的工作目录,即服务端文件所在处。 |
|
计划任务。 |
|
由面板 Java 管理功能下载/安装的 JDK。 |
|
实例备份(路径由 |
节点的辅助二进制与运行日志不在 data/:它们分别位于同级 daemon/lib/ 与 daemon/logs/。
Config/global.json 常用字段
| 字段 | 默认 | 说明 |
|---|---|---|
|
|
节点监听地址与端口。 |
|
自动生成 |
面板接入用的 API Key(连接其他机器)。 |
|
路径前缀。 |
|
|
节点语言,是否跟随面板。 |
|
|
新实例默认目录。 |
|
|
Java 安装目录。 |
|
|
备份路径、格式、压缩级别与大小上限。 |
|
|
|
自动分配实例端口。 |
|
上下行限速。 |
|
|
终端输出缓冲。 |
|
|
|
是否启用、以及允许接入的面板 IP 白名单。 |
|
节点内置 HTTPS。 |
在哪里改配置
不要习惯性地直接改 JSON——面板提供了统一的配置入口:
插件页面里,每个插件都带有自己的设置表单。面板插件的设置由该插件在后端声明(字段、读取、校验写入),节点插件的设置也由节点声明、由面板渲染。语言切换时表单标签会随之更新。校验逻辑只有一份,位于声明方的 write() 中。
直接编辑 JSON 文件也是允许的,但大多数配置需要重启对应进程才会生效。
插件覆盖项 plugin-overrides.json
插件包的 plugin.json 提供默认值;用户的选择写入 data/plugin-overrides.json:
{
"version": 1,
"plugins": {
"example": { "enabled": true, "config": { "interval": 30 } }
}
}
规则:
-
覆盖项里的
config会整体替换插件自带的config对象;完全省略config才会沿用包内默认值,覆盖对象内部不会逐字段合并。 -
enabled覆盖插件默认开关。 -
禁用或更新插件不会修改插件包自身的清单文件。
-
覆盖文件格式非法时会明确报错,而不是静默放行。
-
管理接口的写入按进程内单一队列原子进行;手工编辑文件在重启后生效。
备份与迁移
-
备份面板状态至少要备份
web/data/;备份节点状态至少要备份每台被控机的daemon/data/(实例文件与备份都在里面)。 -
若使用市场插件,还要备份或重新安装
web/plugins/与各节点daemon/plugins/中带.market-install.json的目录;开发环境对应data/plugins/。 -
迁移到新机器时,程序文件、
data/、所需市场插件与可选的logs/一起搬过去;plugin-overrides.json会保留用户的插件开关。 -
启用 Redis 时,实体数据存到 Redis,配置文件仍在
data/,两者都要纳入备份。