Обзор развертывания производственной среды

Если ваша NocoBase уже может нормально работать на сервере, вам обычно необходимо добавить еще две возможности, прежде чем она будет официально запущена:

  1. Разрешите приложению автоматически возобновить работу после перезапуска компьютера.
  2. Подключите вход обратного прокси к приложению, чтобы обеспечить стабильный доступ к внешнему миру.

Как и NocoBase CLI, он в основном состоит из следующих двух наборов команд:

  • nb app autostart
  • nb proxy

Этот комплект документов в основном разделен на две части:

  1. Самозапуск приложения: разрешите возобновление работы приложения после перезагрузки компьютера.
  2. Обратный прокси-сервер: Обеспечьте стабильный вход внешнего доступа для приложений.

Вы можете сначала посмотреть, какой кусок вам нужен больше в данный момент, а затем перейти на соответствующую страницу.

Какие проблемы решают эти две части в производственной среде?

То есть:

  • nb app autostart решает проблему "как возобновить работу приложений после запуска системы"
  • nb proxy решает проблему "как обеспечить стабильный доступ к внешнему миру"
Почему бы вам не использовать здесь напрямую Docker, PM2 или собственную самозапускающуюся конфигурацию Supervisor?

nb app autostart не обходит эти методы управления процессами, а единообразно адаптирует различные методы управления процессами, а затем объединяет их в стабильный набор самозапускающихся входов управления. Таким образом, вам не нужно запоминать другой набор самозапускающихся конфигураций, поскольку базовым уровнем является Docker, PM2 или Supervisor, которые могут поддерживаться в будущем.

Когда система запускает этот уровень, он будет продолжать обрабатываться systemd, launchd или сценарием запуска хоста. Они отвечают за выполнение один раз при запуске машины:

nb app autostart run

Затем эта команда запустит все приложения, у которых включен автозапуск.

Вот два слоя вещей, которые не следует смешивать:

  • Такие возможности, как Docker, PM2 и Supervisor, ближе к тому, «как обычно работают приложения и как управлять процессами приложений».
  • Такие возможности, как systemd, launchd и сценарии запуска хоста, ближе к тому, «какую команду выполнить при запуске системы».

Если вы застряли на этом этапе «Зачем вам nb app autostart», просто продолжайте читать Автозапуск приложения и замысел дизайна приложения.

Какую страницу мне сейчас посмотреть?

Я хочу...Где искать
Сначала перезагрузите сервер, а затем приложение сможет автоматически возобновить работуАвтозапуск приложения
Сначала разберитесь со связью входа Nginx/Caddy в этом CLIОбратный прокси
Продолжать использовать Nginx для управления входом на сайтNginx
Подключите HTTPS как можно скорее и используйте меньше деталей TLSCaddy
Просмотр запуска, остановки, журналов и обновлений самого приложенияУправление приложением

Перед входом в производственную среду подтвердите эти предварительные условия.

  • Приложение сохранено как среда CLI.
  • Приложение можно нормально запустить на самом сервере
  • Если вы собираетесь подключиться к обратному прокси, appPort сохранен в env.
  • Если вы готовы официально открыть его внешнему миру, вы уже запланировали доменное имя, входной порт и решение HTTPS.
Внимание

Используйте отдельный hostname, например отдельный поддомен, для каждого независимого сервиса NocoBase. Не различайте сервисы только по порту. Cookies браузера не изолируются по портам, поэтому сервисы под одним hostname могут перезаписать состояние входа и повлиять на авторизацию стабильных URL.

Подприложения в одном развёртывании NocoBase различаются по имени приложения и не требуют отдельных hostnames. Однако если другой независимый сервис NocoBase работает на другом порту под тем же hostname и содержит основное или дочернее приложение с тем же именем, cookies всё равно могут конфликтовать.

Например, используйте app1.example.com и app2.example.com вместо example.com:13000 и example.com:14000.

Если вы не завершили установку CLI или инициализацию среды, вернитесь к Установка с помощью CLI (рекомендуется).

Если команда подскажет, что в env отсутствует appPort, сначала выполните nb env update, чтобы заполнить его.

Ссылки по теме