Цель проекта nb proxy

Если говорить только об основном процессе, то достаточно запомнить эти 3 команды:

nb proxy nginx use docker
nb proxy nginx generate --env test2 --host c.local.nocobase.com
nb proxy nginx reload

В большинстве сценариев вы используете nb proxy, по сути, это три шага:

  1. Сначала используйте use, чтобы выбрать режим работы текущего провайдера.
  2. Затем используйте generate для создания конфигурации записи в соответствии с окружением и именем домена.
  3. Наконец, используйте reload, чтобы конфигурация вступила в силу.

Если вы используете Caddy, просто замените nginx в команде на caddy. Если Nginx установлен непосредственно на компьютере, просто замените docker на local.

Это также тот опыт, который больше всего хочет предоставить этот уровень nb proxy: вам не нужно сначала вникать в детали конфигурации Nginx или Caddy, просто подключите вход в соответствии с фиксированным процессом.

Почему достаточно сначала запомнить эти 3 пункта?

Потому что проблема, решаемая nb proxy, на самом деле очень конвергентна: **Предоставить приложению стабильный вход для внешнего доступа. **

Если вы уже видели Обзор развертывания производственной среды, вы можете запомнить его отдельно от nb app autostart следующим образом:

  • nb app autostart отвечает за то, «как возобновить работу приложения после перезагрузки компьютера».
  • nb proxy отвечает за то, «как приложение может обеспечить стабильный внешний доступ через Nginx или Caddy».

Таким образом, в наиболее распространенном процессе развертывания nb proxy не требует большого количества умов. Чаще всего это:

  • Выбор режима работы
  • Генерировать конфигурацию
  • Перезагрузка вступает в силу

Достаточно.

Что делают эти три шага?

use

use решает проблему «как управлять агентом в данный момент».

например:

  • nb proxy nginx use docker
  • nb proxy nginx use local

Вы можете думать об этом как о выборе драйвера по умолчанию для текущего провайдера. Следующие команды start, reload и status будут работать таким образом.

generate

generate решает проблему «отрисовки конфигурации записи в соответствии с текущим окружением».

например:

nb proxy nginx generate --env test2 --host c.local.nocobase.com

На этом этапе информация в env будет объединена с параметрами, необходимыми входному уровню, для создания пригодной для использования конфигурации прокси. Наиболее важными входными данными здесь обычно являются:

  • --env: какой CLI удалось раскрыть env
  • --host: к какому доменному имени привязать

Другими словами, generate управляет продуктами конфигурации, а не статусом процесса.

reload

reload решает проблему «сделать вновь созданную конфигурацию по-настоящему эффективной».

nb proxy nginx reload

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

Почему он должен быть оформлен как use → generate → reload

Потому что эти три шага как раз соответствуют трем наиболее устойчивым действиям входного слоя:

  • Сначала решите, как запустить агент
  • Затем решите, какую запись создать для какой среды. -Наконец пусть конфигурация вступит в силу

Если вы поместите все эти шаги в команду черного ящика, окажется, что на поверхности команд меньше. Однако при возникновении проблемы сложно определить, неправильно ли выбран драйвер, неправильно сгенерирована конфигурация или не перезагружен агент.

Теперь, после такой разборки, путь расследования станет более прямым:

  • use Если не так, просто вырежьте драйвер
  • generate неверен, заново создайте конфигурацию.
  • Конфигурация правильная, но она еще не вступила в силу, просто reload

Зачем нам отдельный nb proxy

Потому что nb proxy хочет унифицировать не какой-то конкретный файл конфигурации Nginx, а общие действия начального уровня.

Обычно вас действительно волнует не следующее:

-По какому пути находится файл конфигурации?

  • Различия в командах между Nginx и Caddy.
  • Операционные различия между локальным и докерным

Больше всего вас беспокоит:

  • Как мне раскрыть эту среду?
  • Как мне изменить свое доменное имя?
  • Как мне сделать так, чтобы новая конфигурация вступила в силу?

nb proxy — объединить эти действия в один и тот же набор записей CLI. Таким образом, если вы сначала запомните основной процесс, вы уже сможете охватить большинство сценариев. Только если вы хотите продолжить устранение неполадок или вам нужна специальная настройка, просто загляните на собственную страницу провайдера.

Общий

  • nb proxy Основное использование разума – use → generate → reload.
  • Большинству пользователей достаточно запомнить эти 3 команды
  • Целью его дизайна является не скрыть все детали, а сначала исправить наиболее распространенные процессы входного уровня.

Если вы хотите продолжить изучение конкретных команд, вы можете перейти непосредственно к nb proxy. Если вы готовы подключиться к официальному входу, вы также можете продолжить просмотр Обратного прокси.