面板和节点共用一台服务器
节点可以与面板运行在同一台服务器上。Nexora 并不禁止这样做,两者也不会互相干扰。但对于你出售的服务,不推荐 这样做,本页先说明原因,再说明方法。
什么时候可以接受
- 实验环境或测试安装。
- 演示。
- 单台服务器上的小型服务,并且你接受面板与流量共用一个地址、同生共死。
只要是丢了会让你难受的东西,就给面板一台独立的服务器。
为什么不推荐
- 它会公开面板的地址。 节点的地址会出现在你分发的每条订阅链接和每个客户端配置中。每个用户,以及任何收集这些链接的人,都会知道你的面板在哪里。如果这个地址之后被封锁,你失去的就是面板以及所有订阅地址,而不只是一个节点。
- 一台机器,同一命运。 用户流量波动大且没有上限。繁忙的节点可能耗尽面板的 CPU、内存或带宽,而面板一旦宕机,其他所有节点的用户的订阅也会停止服务。
- 它把可丢弃的和不可替代的混在一起。 节点本来就是可以丢掉重装的。面板的数据库是整个集群中唯一值得备份的东西。
- 卸载节点时需要小心。 两者都使用
/var/opt/nexora。删除整个目录会删掉面板的数据库;见 卸载。 - 它仍然算作一个节点,占用你的许可证额度。
用安装脚本设置
两者安装到不同的目录并作为不同的服务运行:/opt/nexora-panel 和 /opt/nexora-node。在 /var/opt/nexora 下,数据库、bin/ 和 backups/ 属于面板;certs/ 和 cache/ 属于节点。
照常安装面板并完成设置向导。
在面板中添加一个节点,地址为
127.0.0.1,端口为 62050。打开节点的 安装 抽屉,从 手动 选项卡复制命令。
在同一台服务器上运行它,并在末尾加上
--listen 127.0.0.1:62050,使节点的控制端口只能从本机访问:bashcurl -fsSL https://PANEL/install-node.sh | bash -s -- \ --panel PANEL --token TOKEN --listen 127.0.0.1:62050
如果面板仍使用自签名证书,请像 添加节点 所说,给 curl 加上 -k,给脚本加上 --insecure。
- 编辑节点,在 链接地址 下添加服务器的公网地址。该列表为空时,链接使用节点的地址,而
127.0.0.1对你的用户毫无用处。
62050 端口不会离开这台服务器,因此不需要防火墙规则。只开放节点入站的端口即可。
用 Docker 设置
面板仓库中有一套现成的部署 docker/panel-and-node:SQLite 面板加上旁边的一个节点。节点启动前需要面板的证书,而面板只有在节点存在后才显示该证书,所以这套部署分两步启动:
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。像上面一样,在节点的 链接地址 下添加服务器的公网地址。启动节点:
docker compose up -d node两个容器都使用主机网络。因此与其他 Docker 部署不同,这一套不固定面板的端口:设置向导中选择的端口会被直接使用,与脚本安装相同。节点的控制端口只留在本机上。
