Skip to content

面板和节点共用一台服务器 ​

节点可以与面板运行在同一台服务器上。Nexora 并不禁止这样做,两者也不会互相干扰。但对于你出售的服务,不推荐 这样做,本页先说明原因,再说明方法。

什么时候可以接受 ​

  • 实验环境或测试安装。
  • 演示。
  • 单台服务器上的小型服务,并且你接受面板与流量共用一个地址、同生共死。

只要是丢了会让你难受的东西,就给面板一台独立的服务器。

  • 它会公开面板的地址。 节点的地址会出现在你分发的每条订阅链接和每个客户端配置中。每个用户,以及任何收集这些链接的人,都会知道你的面板在哪里。如果这个地址之后被封锁,你失去的就是面板以及所有订阅地址,而不只是一个节点。
  • 一台机器,同一命运。 用户流量波动大且没有上限。繁忙的节点可能耗尽面板的 CPU、内存或带宽,而面板一旦宕机,其他所有节点的用户的订阅也会停止服务。
  • 它把可丢弃的和不可替代的混在一起。 节点本来就是可以丢掉重装的。面板的数据库是整个集群中唯一值得备份的东西。
  • 卸载节点时需要小心。 两者都使用 /var/opt/nexora。删除整个目录会删掉面板的数据库;见 卸载。
  • 它仍然算作一个节点,占用你的许可证额度。

用安装脚本设置 ​

两者安装到不同的目录并作为不同的服务运行:/opt/nexora-panel 和 /opt/nexora-node。在 /var/opt/nexora 下,数据库、bin/ 和 backups/ 属于面板;certs/ 和 cache/ 属于节点。

  1. 照常安装面板并完成设置向导。

  2. 在面板中添加一个节点,地址为 127.0.0.1,端口为 62050。

  3. 打开节点的 安装 抽屉,从 手动 选项卡复制命令。

  4. 在同一台服务器上运行它,并在末尾加上 --listen 127.0.0.1:62050,使节点的控制端口只能从本机访问:

    bash
    curl -fsSL https://PANEL/install-node.sh | bash -s -- \
      --panel PANEL --token TOKEN --listen 127.0.0.1:62050

如果面板仍使用自签名证书,请像 添加节点 所说,给 curl 加上 -k,给脚本加上 --insecure。

  1. 编辑节点,在 链接地址 下添加服务器的公网地址。该列表为空时,链接使用节点的地址,而 127.0.0.1 对你的用户毫无用处。

62050 端口不会离开这台服务器,因此不需要防火墙规则。只开放节点入站的端口即可。

用 Docker 设置 ​

面板仓库中有一套现成的部署 docker/panel-and-node:SQLite 面板加上旁边的一个节点。节点启动前需要面板的证书,而面板只有在节点存在后才显示该证书,所以这套部署分两步启动:

bash
git clone https://github.com/nexora-vpn/panel
cd panel/docker/panel-and-node
docker compose up -d panel
docker compose logs panel | grep setup      # open the link, finish the wizard

然后在面板中添加一个节点,地址为 127.0.0.1,端口为 62050。打开它的 安装 抽屉,把 mTLS 证书 下的证书保存为 compose 文件旁边的 ./certs/panel_ca.pem。像上面一样,在节点的 链接地址 下添加服务器的公网地址。启动节点:

bash
docker compose up -d node

两个容器都使用主机网络。因此与其他 Docker 部署不同,这一套不固定面板的端口:设置向导中选择的端口会被直接使用,与脚本安装相同。节点的控制端口只留在本机上。

  • 节点在独立服务器上时,见 添加节点。
  • 链接地址和节点的其他设置,见 节点。

文字与图片采用 CC BY 4.0 许可。