Панель и узел на одном сервере
Узел может работать на том же сервере, что и панель. Nexora этого не запрещает, и они не мешают друг другу. Для сервиса, который вы продаёте, это не рекомендуется, и эта страница сначала объясняет почему, а потом — как.
Когда это допустимо
- Лаборатория или тестовая установка.
- Демонстрация.
- Небольшой сервис на одном сервере, когда вы согласны, что у панели и трафика один адрес и одна судьба.
Для всего, что вам было бы жаль потерять, дайте панели отдельный сервер.
Почему это не рекомендуется
- Адрес панели становится публичным. Адрес узла попадает в каждую ссылку подписки и каждый клиентский профиль, которые вы выдаёте. Каждый пользователь и любой, кто собирает такие ссылки, узнаёт, где ваша панель. Если этот адрес потом заблокируют, вы теряете не один узел, а панель и вместе с ней все адреса подписок.
- Одна машина — одна судьба. Пользовательский трафик идёт всплесками и не имеет потолка. Загруженный узел может отнять у панели процессор, память или канал, а упавшая панель перестаёт отдавать подписки и пользователям всех остальных узлов.
- Одноразовое смешивается с незаменимым. Узел задуман так, чтобы его можно было выбросить и установить заново. База панели — единственное во всём флоте, что стоит резервировать.
- Удалять узел нужно осторожно. Оба используют
/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
Если панель ещё на своём самоподписанном сертификате, добавьте -k к curl и --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 как ./certs/panel_ca.pem рядом с файлом compose. Добавьте публичный адрес сервера в Адреса для ссылок узла, как описано выше. Запустите узел:
docker compose up -d nodeОба контейнера используют сеть хоста. Поэтому, в отличие от других стеков Docker, этот не закрепляет порт панели: порт, выбранный в мастере настройки, используется напрямую, как при установке скриптом. Управляющий порт узла не покидает машину.
Связанные страницы
- Добавление узла — узлы на собственных серверах.
- Узлы — адреса для ссылок и остальные настройки узла.
