Skip to content

① 安装主控 Console ​

主控是整套系统的核心,先装主控,再装财务端,最后装被控。

一键安装(推荐) ​

在一台全新的 Debian 12/13 服务器上(root):

bash
curl -fsSL https://nkxcloud-wiki.pages.dev/install-console.sh | bash

脚本会自动:下载程序 → 生成自签证书与配置 → 安装 systemd 服务 → 启动,并打印访问地址。 重复执行就是升级(自动保留配置与数据库,升级前自动备份)。 对外使用时,console_public_url 应指向 HTTPS 且客户端可验证的地址;Agent 注册和财务端到主控的 API/WebSocket 都会校验证书。

完成后打开 https://你的IP/(或域名)→ 进入「安装向导」。

可用环境变量覆盖

bash
PANEL_NAME="NKXCLOUD 主控" LISTEN=:443 curl -fsSL https://nkxcloud-wiki.pages.dev/install-console.sh | bash

安装脚本和编译包由文档站公开分发,源码仓库保持私有。

手动安装(不推荐,供排查用) ​

1. 上传程序 ​

在本地编译或拿到 nkxconsole 二进制后:

bash
ssh root@主控IP
mkdir -p /opt/nkxconsole
# 从本地 scp 上传(示例)
# scp nkxconsole-linux-amd64 root@主控IP:/opt/nkxconsole/nkxconsole
chmod +x /opt/nkxconsole/nkxconsole

2. 写配置文件 ​

bash
cat > /opt/nkxconsole/config.json <<'JSON'
{
  "panel_name": "NKXCLOUD 主控",
  "listen": ":443",
  "db": "/opt/nkxconsole/console.db",
  "secret_file": "/opt/nkxconsole/secret.key",
  "cert_file": "/opt/nkxconsole/cert.pem",
  "key_file": "/opt/nkxconsole/key.pem",
  "license_url": "https://license.niekaixiang.com",
  "console_public_url": "console.example.com",
  "bootstrap_admin": "",
  "poll_seconds": 30,
  "trusted_proxies": []
}
JSON
chmod 600 /opt/nkxconsole/config.json

首次安装用「安装向导」

bootstrap_admin 留空,第一次打开 https://console.example.com/你的隐藏路径/login 会自动进入安装向导:填主控名称、管理员账号密码、对外地址、隐藏后台路径。 如果你想用固定账号,也可以写 "bootstrap_admin": "admin:至少12位的强密码"(跳过向导)。

财务端连接自建 CA 的主控时,在财务端 config.json 设置 console_ca_file 和可选的 console_server_name。旧配置里的 console_insecure、node_insecure 不再生效。

3. 生成自签证书 ​

bash
cd /opt/nkxconsole
openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
  -keyout key.pem -out cert.pem -days 3650 -nodes -subj "/CN=console.example.com"
chmod 600 key.pem

4. 安装 systemd 服务 ​

bash
cat > /etc/systemd/system/nkxconsole.service <<'UNIT'
[Unit]
Description=NKXCLOUD Console (Master Control)
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/nkxconsole
ExecStart=/opt/nkxconsole/nkxconsole -config /opt/nkxconsole/config.json
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
UNIT

systemctl daemon-reload
systemctl enable --now nkxconsole
systemctl status nkxconsole --no-pager

5. 上传被控安装包 ​

被控的一键安装脚本会从主控下载被控程序,把编译好的 nkx-agent 放到:

/opt/nkxconsole/agent/nkx-agent

重要

每次更新被控程序后,都要同步更新这个文件,否则新杜甫装到的是旧版本。

6. 访问与首次配置 ​

  1. 浏览器打开 https://console.example.com(CF 已代理)→ 按提示完成安装向导,记住隐藏后台路径。
  2. 登录后进入 系统设置:
    • 商业许可证:输入许可证密钥并在线激活;每份许可证绑定一套 Web、Console 和 Agent 节点数。
    • 主控对外地址:填 console.example.com(生成被控安装命令用)。
    • 主控出口 IP:必填——被控节点 API 的白名单只允许这个 IP 访问;如果你用域名 + Cloudflare,这里必须填主控 VPS 的真实出口 IP(不是 CF 的 IP)。
    • 服务令牌:复制备用(财务端要用)。
  3. 到 被控节点 → 新增 登记第一台杜甫(见下一步)。

7. 升级主控 ​

bash
systemctl stop nkxconsole
# 覆盖 /opt/nkxconsole/nkxconsole
systemctl start nkxconsole

升级前建议备份 console.db(sqlite3 console.db ".backup /root/console-$(date +%F).db")。


下一步:安装财务端 Web 或 安装被控(新杜甫)

NKXCLOUD · 自研云服务器 / 游戏服务器管理系统