文件与端口
面板和节点在磁盘上存放东西的位置、它们监听的端口,以及能改变它们行为的环境变量。这里没有列出的一切,从管理员和设置到用户和证书,都保存在面板的数据库中,并在面板中管理。
面板文件
| 路径 | 内容 |
|---|---|
/opt/nexora-panel/nexora-panel | 程序 |
/opt/nexora-panel/nexora-panel.previous | 上次更新前的程序,保留用于回退 |
/opt/nexora-panel/config.json | 数据库连接,仅此而已 |
/var/opt/nexora/nexora.db | SQLite 数据库(面板运行时旁边还有 -wal 和 -shm 文件) |
/var/opt/nexora/bin/ | 面板交给节点安装程序的节点程序 |
/var/opt/nexora/sub-themes/ | 订阅页面主题 |
/var/opt/nexora/presets/ | 你自己的预设目录文件,会添加到内置预设中 |
/var/opt/nexora/backups/ | 备份归档和还原前的快照(仅 root 可读) |
/var/opt/nexora/rulesets/ | 面板交给节点的规则集文件副本;可以安全清空,面板会重新下载 |
/etc/systemd/system/nexora-panel.service | 服务 |
在面板运行时复制数据库文件不算备份。请使用面板自带的备份功能(备份与还原),它无需停止任何东西就能得到一致的副本。
config.json 的样子如下:
{ "db": { "driver": "sqlite", "dsn": "/var/opt/nexora/nexora.db" } }使用 PostgreSQL 时,driver 为 postgres,dsn 为连接字符串。max_open_conns 设置连接池大小;除非 PostgreSQL 服务器与其他程序共用,否则不要设置。
Docker 中
每套面板部署都把需要比容器活得更久的东西放在 compose 文件旁边:
| 路径 | 内容 |
|---|---|
./data | SQLite 数据库(PostgreSQL 部署使用命名卷) |
./backups | 备份归档 |
./bin | 节点程序 |
./rulesets | 规则集副本;可以安全清空 |
./sub-themes | 订阅页面主题 |
节点文件
| 路径 | 内容 |
|---|---|
/opt/nexora-node/nexora-node | 程序 |
/opt/nexora-node/config.json | 控制端口的地址和证书路径,仅此而已 |
/var/opt/nexora/certs/ssl_cert.pem | 节点自己的证书 |
/var/opt/nexora/certs/ssl_key.pem | 它的私钥 |
/var/opt/nexora/certs/panel_ca.pem | 面板的证书,节点只接受这一张 |
/var/opt/nexora/cache/ | 面板推送的规则集和其他文件;可以安全删除,面板会重新发送 |
/etc/systemd/system/nexora-node.service | 服务 |
节点提供的一切都由面板发送并保存在内存中。重启后的节点在面板重新发送配置之前不提供任何服务,这只需几秒钟。证书是节点上唯一值得备份的文件。
在 Docker 中,节点把 ./certs 和 ./cache 放在 compose 文件旁边。
面板和节点共用一台服务器时,/var/opt/nexora 同时存放两者的内容:数据库、bin、backups 等属于面板,certs 和 cache 属于节点。见 面板和节点共用一台服务器。
端口
| 端口 | 使用者 | 用途 |
|---|---|---|
| 随机的高位 TCP 端口 | 面板(脚本安装) | 面板的网页界面、API 和订阅。安装程序选择一个空闲端口并打印出来 |
| 2095 TCP | 面板(Docker) | 同上,固定在 compose 文件中 |
| 62050 TCP | 节点 | 控制端口。只有面板能使用它;请只允许面板的地址访问 |
| 入站的端口 | 节点 | 用户连接的端口,在面板中选择 |
| 5432 TCP,仅本地 | PostgreSQL(使用 --postgres 时) | 数据库,面板通过 127.0.0.1 访问 |
面板的端口可以在设置向导中修改,之后可以在设置页面中修改,也可以用 nexora-panel config set web_listen_port 修改。面板和节点都同时监听 IPv6 和 IPv4,在关闭了 IPv6 的服务器上退回 IPv4。
环境变量
面板
| 变量 | 作用 |
|---|---|
NEXORA_DB_DRIVER | sqlite 或 postgres |
NEXORA_DB_DSN | 数据库连接:SQLite 为文件路径,PostgreSQL 为连接字符串 |
NEXORA_DB_MAX_OPEN_CONNS | 数据库连接池大小 |
NEXORA_WEB_LISTEN | 固定监听地址(IP:PORT)。此时面板忽略设置中保存的地址,设置向导也无法修改它。Docker 部署使用这个变量 |
这些变量会覆盖 config.json。nexora-panel run -listen IP:PORT 与 NEXORA_WEB_LISTEN 一样固定地址。
节点
| 变量 | 作用 |
|---|---|
NEXORA_NODE_LISTEN | 控制端口的地址,默认为 [::]:62050 |
NEXORA_NODE_CERT | 节点的证书文件 |
NEXORA_NODE_KEY | 它的私钥文件 |
NEXORA_NODE_CLIENT_CA | 面板的证书文件 |
NEXORA_STATE_DIR | 存放 certs 和 cache 的目录,默认为 /var/opt/nexora |
这些变量会覆盖节点的 config.json。节点安装程序还会读取 NEXORA_INSTALL_TOKEN 来代替 --token。
