安装NexCMP
安装程序是由许可证服务器提供的单个脚本。它会检查服务器环境、激活许可证、下载并验证程序、安装各项服务,并(可选)使用Let's Encrypt证书配置nginx。
开始之前
- 一台符合requirements并具备root访问权限的服务器。
- 来自license page的许可证密钥和主域名——参见License and purchase。
- 该域名的DNS解析记录——参见DNS and Cloudflare。您也可以先完成安装后续再配置DNS;安装程序会提示缺失的内容,之后直接重新运行即可。
安装
- 登录服务器并切换为root身份(或在命令前添加
sudo)。 - 运行许可证页面上提供的命令。命令格式如下:
bash
curl -fsSL https://nexcmp.com/install.sh | sudo bash -s -- \
--license NXC-XXXXX-XXXXX-XXXXX-XXXXX \
--domain cloud.example.com \
--email admin@example.com- 等待各项检查通过。全新安装只需几分钟;首次启动会创建数据库表结构,在慢速磁盘上最多可能需要一分钟。
- 查看安装结束时的汇总信息。终端会输出门户及后台管理URL、设置代码以及后续步骤。

参数
| 参数 | 默认值 | 说明 |
|---|---|---|
--license KEY | 首次安装时必填 | 许可证密钥。 |
--domain NAME | 首次安装时必填 | 主域名。必须与许可证匹配。https://和末尾路径会被自动去除。 |
--email ADDRESS | 无 | 用于接收Let's Encrypt到期通知的联系邮箱。未填写时注册的证书将不绑定邮箱。 |
--port N | 3000 | 面板的本地端口(1–65535)。 |
--no-nginx | off | 不安装也不配置nginx / TLS。在自行运行反向代理或仅想初步体验NexCMP时使用此选项。 |
--behind-cloudflare | 自动检测 | 强制启用“域名经由Cloudflare代理”模式。通常会自动从DNS检测。 |
--channel NAME | stable | 发布通道。 |
不带参数重新运行安装程序将复用已保存的参数(/etc/nexcmp/install.conf)并安全升级,完整保留数据、配置和账户。这正是sudo nexcmp update所执行的操作。
安装程序执行的操作
- 检查机器环境——Ubuntu 22.04/24.04、x86_64、至少2 GB内存、8 GB可用磁盘空间。
- 安装所需的软件包(
curl、zstd、openssl、python3、openssh-client……)。 - 创建服务用户
nexcmp及相关目录:/opt/nexcmp(程序目录,归root所有,对服务只读)、/etc/nexcmp(配置)、/var/lib/nexcmp(数据)、/var/log/nexcmp。 - 激活域名的许可证并为该机器保存固定实例ID。
- 下载您有权获取的最新版本,然后验证其SHA-256和Ed25519签名。缺少有效签名的版本将被拒绝。绝不会降级正在运行的更新版本。
- 写入配置和systemd服务单元(
nexcmp、nexcmp-vmd、nexcmp-update)并启动服务;随后等待/healthz响应。 - 配置nginx和TLS(除非指定
--no-nginx):使用certbot(webroot验证)为该域名以及能够正常解析的admin.<domain>/partner.<domain>申请Let's Encrypt证书。如果DNS尚未指向本服务器(或Cloudflare),则会跳过此步骤并予以提示。 - 输出摘要信息,包含URL以及尚未创建管理员时的设置代码。
控制面板端口(3000)
- 初次安装期间,控制面板会监听
0.0.0.0:3000,以便您在http://<server-IP>:3000/setup打开设置向导。 - 向导完成且TLS生效后,控制面板仅监听
127.0.0.1;nginx会将https://<domain>代理至该端口。 - 紧急情况下(nginx故障、DNS配置错误),您可以在限定时间内临时开放该端口:
sudo nexcmp open-port 30(30分钟后自动关闭)——或者使用SSH隧道:ssh -L 3000:127.0.0.1:3000 <server>并访问http://127.0.0.1:3000/。
明文HTTP
3000端口采用明文HTTP。仅限在可信网络中用于设置向导,或通过SSH隧道使用。切勿保持开放。
在无公网域名的情况下安装(实验或测试)
您也可以在尚未配置DNS的机器上进行安装:
bash
curl -fsSL https://nexcmp.com/install.sh | sudo bash -s -- \
--license NXC-XXXXX-XXXXX-XXXXX-XXXXX --domain lab.example.com --no-nginx然后通过SSH隧道打开向导(ssh -L 3000:127.0.0.1:3000 <server>,访问http://127.0.0.1:3000/setup)。配置好DNS后,在不带--no-nginx的情况下重新运行安装程序。
Docker与Kubernetes
官方未发布容器镜像。支持的安装方式为使用安装程序(原生systemd安装)。
验证
bash
sudo nexcmp status您将看到版本号、nexcmp: active、nexcmp-vmd: active、healthz: ok,以及在向导完成前显示的设置代码。接下来请继续进行设置向导。
如果出现问题,请参阅安装错误。