Skip to content

Быстрое развёртывание ​

Обзор страницы ​

Кому подходитПодходит для быстрого ознакомления, демонстрационных сред, небольших развёртываний и базовой проверки окружения перед поставкой коммерческой версии.
ТребованияПодготовьте Linux-сервер и убедитесь, что доступны Docker, Docker Compose, сетевой доступ и рабочие порты.
РезультатЗапущены backend, frontend, MySQL, Redis, EMQX и другие сервисы FastBee, доступен вход в платформу.
Критерии приёмкиСтраница платформы открывается, работает вход с учётной записью по умолчанию, контейнеры в нормальном состоянии, порты MQTT и консоли EMQX доступны.

Точка входа и минимальный процесс развёртывания ​

  1. Сначала проверьте систему сервера, Docker, Docker Compose, открытость портов, лицензионный сертификат и установочный пакет.
  2. Для быстрого ознакомления предпочтителен скрипт в один клик; для среды поставки или вторичной разработки рекомендуется способ docker-compose — так проще заменять backend jar и статические файлы frontend.
  3. После запуска сервисов выполняйте приёмку в порядке: контейнеры, журналы backend, база данных, кэш, MQTT, Web-страницы и страница лицензии.
  4. В завершение прогоните в MQTTX цепочку «продукт → устройство → отправка данных → доставка команды», чтобы убедиться, что развёрнутое окружение поддерживает реальный бизнес.
Проверка перед развёртыванием
  • На сервере открыты рабочие порты: 80, 1883, 8083, 5061, 30000-30100/tcp/udp и др.
  • Перед развёртыванием коммерческой версии подготовлены лицензионный сертификат и пароль установки, и учтено, что после развёртывания потребуется настроить лицензионную информацию.
  • При повторном развёртывании после вторичной разработки сначала убедитесь, что backend jar-пакет в /var/data и frontend-каталог vue являются последними версиями.

提示

  • После развёртывания коммерческой версии войдите в систему: на главной странице сначала нужно настроить лицензионную информацию (на кит.), иначе нормальное использование невозможно
  • При повторном развёртывании после вторичной разработки достаточно заменить соответствующий пакет fastbee-admin.jar в каталоге /var/data и содержимое каталога vue

1. Скрипт быстрого развёртывания ​

Скрипт развёртывания в один клик создан на основе Docker; требуется предварительно установить docker и docker-compose. Фактический процесс аналогичен описанному ниже способу docker-compose, но объединён в один скрипт — развёртывание выполняется одной командой. Команда:

sudo wget -c https://hub.fastbee.cn/resource/install.sh && bash ./install.sh

Примечания:

  • Скрипт включает open-source и коммерческую версии; коммерческая версия предназначена только для лицензированных пользователей, для установки требуются пароль и сертификат (обратитесь в службу поддержки)
  • Загрузка файлов во время развёртывания занимает время; при установке рекомендуется использовать официальные образы docker — скрипт автоматически настраивает ускорение зеркал, и скорость будет выше
  • Откройте на сервере соответствующие порты (например: 80, 1883, 8083, 5061, 30000-30100/tcp/udp и др.)

2. Быстрое развёртывание docker-compose ​

Для развёртывания через docker-compose на сервере должны быть предварительно установлены docker и docker-compose

docker-compose устанавливает на сервер или локальную машину приложения вместе с зависимым окружением. Выполните следующие шаги для установки и развёртывания:

1. Загрузка файлов ​

Сначала загрузите папку docker/data/ из репозитория FastBee в каталог /var/ на сервере или локальной машине. Для коммерческой версии нужно заново упаковать backend и frontend: backend загружается в каталог /var/data/java/ с заменой jar-файла; frontend загружается в каталог /var/data/nginx/vue/ с заменой его содержимого.

2. Начало развёртывания ​

Перейдите в каталог /var/data/ на сервере или локальной машине и выполните: docker-compose up -d — дождитесь завершения выполнения, развёртывание будет завершено.

3. Доступ к системе ​

  • После завершения развёртывания откройте IoT-платформу FastBee по адресу сервера; учётная запись по умолчанию admin admin123
  • В развёртывании используется EMQX: консоль EMQX доступна на порту 18083, логин и пароль по умолчанию admin admin123

提示

  • Для последующих повторных развёртываний проекта достаточно заменить файл fastbee-admin.jar и содержимое каталога vue
  • Инициализация контейнера mysql занимает время; если backend сообщает об ошибке, можно перезапустить его командой docker restart java
  • Учётные записи по умолчанию при быстром развёртывании:
    • Системный администратор: admin admin123
    • mysql: root fastbee
    • redis: fastbee
    • консоль EMQX: admin admin123
    • TDengine: root taosdata
    • SIP: 12345678
    • мониторинг источников данных: fastbee fastbee

4. Часто используемые команды при развёртывании ​

shell
# можно заранее загрузить образы сервисов; время зависит от сети, для docker можно настроить зеркала
docker-compose pull
# собрать и запустить контейнеры сервисов
docker-compose up -d  
# остановить и удалить контейнеры сервисов
docker-compose down   
# создать папку data
mkdir /var/data
# назначить папке права на чтение, запись и выполнение
sudo chmod 777 /var/data

5. Настройка ускорения docker-образов ​

Выполните команды по следующим шагам, чтобы настроить ускорение образов. Адреса зеркал docker-образов собраны из сети; при необходимости их можно добавлять или удалять.

shell
# 1. Остановить сервис Docker
sudo systemctl stop docker

# 2. Если файл не существует, создать его
sudo mkdir -p /etc/docker

# 3. Изменить конфигурационный файл Docker
sudo tee /etc/docker/daemon.json <<-EOF
{
    "registry-mirrors": [
        "https://mirrors.ustc.edu.cn",
        "https://docker.chenby.cn",
        "http://mirror.azure.cn",
        "https://dockerpull.org",
        "https://dockerhub.icu",
        "https://hub.rat.dev",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.rainbond.cc",
        "https://mirror.ccs.tencentyun.com",
        "https://registry.docker-cn.com",
        "https://hub-mirror.c.163.com",
        "https://docker.1ms.run", 
        "https://doublezonline.cloud", 
        "https://dislabaiot.xyz", 
        "https://docker.fxxk.dedyn.io", 
        "https://docker.unsee.tech", 
        "https://docker.1panel.live", 
        "https://docker.nastool.de", 
        "https://docker.zhai.cm", 
        "https://docker.5z5f.com", 
        "https://a.ussh.net", 
        "https://docker.udayun.com", 
        "https://hub.geekery.cn",
        "https://noohub.ru", 
        "https://huecker.io",
        "https://dockerhub.timeweb.cloud",
        "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
        "https://5tqw56kt.mirror.aliyuncs.com",
        "https://docker.ckyl.me/",
        "https://docker.hpcloud.cloud"
    ]
}
EOF

# 5. Перезапустить сервис Docker
sudo systemctl daemon-reload
sudo systemctl start docker

3. Проверка результата развёртывания ​

После завершения развёртывания не рекомендуется ограничиваться проверкой открытия страницы. Рекомендуется выполнить полную приёмку в порядке «контейнеры, backend, база данных, кэш, MQTT, бизнес-страницы».

1. Состояние контейнеров ​

shell
cd /var/data
docker-compose ps
docker ps

Все ключевые контейнеры должны быть запущены. Если контейнеры java, mysql, redis, emqx или nginx постоянно перезапускаются, сначала посмотрите соответствующие журналы.

shell
docker logs -n 200 java
docker logs -n 200 mysql
docker logs -n 200 redis
docker logs -n 200 emqx
docker logs -n 200 nginx

2. Backend-сервис ​

shell
docker logs -n 300 java

В первую очередь убедитесь, что постоянно не появляются следующие ошибки:

  • Ошибка подключения к базе данных.
  • Ошибка аутентификации Redis.
  • Ошибка чтения лицензионного сертификата.
  • Занятость порта.
  • Ошибка инициализации SQL.
  • Ошибка подключения к базе временных рядов.

Если MySQL инициализируется медленно и backend при первом запуске завершился с ошибкой, можно подождать 1-2 минуты и перезапустить:

shell
docker restart java

3. Web-страницы ​

Откройте в браузере:

text
http://server-ip/

Учётная запись по умолчанию:

ПользовательПароль
adminadmin123

После входа откройте как минимум следующие страницы, чтобы убедиться в доступности интерфейсов:

СтраницаКритерий приёмки
ГлавнаяКарточки статистики и меню загружаются нормально
Управление продуктамиСписок открывается, кнопка добавления работает
Управление устройствамиСписок открывается, вход в детали устройства работает
Системное управлениеСтраницы пользователей, ролей и меню открываются
Страница лицензииВ коммерческой версии можно загрузить или просмотреть лицензионную информацию

4. Сервис MQTT ​

Адрес консоли EMQX:

text
http://server-ip:18083/

Учётная запись по умолчанию:

ПользовательПароль
adminadmin123

После входа в консоль убедитесь, что слушатели работают нормально. Затем можно установить подключение в MQTTX по документу Полный цикл «от продукта к устройству» (на кит.).

5. Минимальная бизнес-проверка ​

Итоговый критерий приёмки развёртывания — не работающие контейнеры, а способность платформы выполнить реальную бизнес-цепочку:

  1. Создать продукт.
  2. Определить модель вещи.
  3. Опубликовать продукт.
  4. Создать устройство.
  5. Подключиться к платформе в MQTTX.
  6. Отправить данные свойств.
  7. Отправить команду с платформы.

Полные шаги см. в Полный цикл «от продукта к устройству» (на кит.).

4. Учебник по Docker ​

Docker — это открытый движок контейнеров приложений, позволяющий разработчикам упаковывать приложения вместе с зависимостями в лёгкий переносимый образ, а затем публиковать его на любой популярной машине с Linux или Windows, а также реализовывать виртуализацию. Контейнеры полностью используют механизм песочницы и не имеют никаких интерфейсов между собой (подобно приложениям на iPhone); что ещё важнее, накладные расходы на производительность контейнеров крайне низки.

1. Установка Docker ​

提示

  • Образы docker по умолчанию загружаются из официального репозитория; при медленной загрузке можно настроить зеркальный репозиторий, пример инструкции (на кит.)
  • Установка Docker Desktop уже включает движок docker и docker compose. На сервере обычно отдельно устанавливают docker engine и docker compose

Установка Docker в Linux ​

Установка Docker Desktop в Windows ​

Установка Docker Desktop в Mac ​

2. Часто используемые команды Docker ​

shell
docker -v                                # версия docker, проверка успешности установки
docker ps                                # запущенные контейнеры
docker ps -a                             # все контейнеры
docker images                            # локальные образы
docker info                              # системная информация docker
docker pull [image]                      # загрузить образ
docker run  [image]                      # запустить контейнер
docker restart  [container]              # перезапустить контейнер
docker stop [container]                  # остановить контейнер
docker stats [container]                 # использование ресурсов контейнером
docker inspect [container]               # метаданные контейнера
docker logs -n 1000 [container]          # первые 1000 строк журнала контейнера
docker exec -it [container] /bin/bash    # войти внутрь запущенного контейнера
docker save nginx:latest > nginx.tar     # сохранить один образ
docker load -i nginx.tar                 # загрузить образ из tar-файла

docker network create -d bridge fastbee-bridge         # создать новую сеть с именем fastbee-bridge
docker network ls                                      # показать все сети
docker network connect fastbee-bridge test             # подключить контейнер test к пользовательской сети
docker inspect fastbee-bridge                          # показать контейнеры в сети fastbee-bridge

3. Сетевые режимы Docker ​

В Docker есть 5 сетевых режимов; режим сети контейнера задаётся параметром --net=***.

shell
режим bridge     # по умолчанию; доступ к сервисам внутри контейнера извне требует IP хоста и порта хоста
режим host       # IP-адрес контейнера совпадает с IP-адресом хоста
режим container  # контейнер разделяет сетевое окружение другого контейнера
режим overlay    # связь между хостами
режим none       # контейнеру не создаётся сетевое окружение, доступна только локальная сеть 127.0.0.1

4. Сетевой мост Docker ​

Сетевой мост используется для связи между контейнерами; если контейнеры запущены отдельно, мост нужно создать следующей командой:

shell
docker network create -d bridge fastbee-bridge

5. Часто используемые команды docker-compose ​

shell
docker-compose -v        # версия docker-compose, проверка успешности установки
docker-compose up -d     # собрать и запустить контейнеры сервисов
docker-compose down      # остановить и удалить контейнеры сервисов
docker-compose ps        # список всех контейнеров сервисов
docker-compose start     # запустить контейнеры сервисов
docker-compose stop      # остановить запущенные контейнеры сервисов
docker-compose restart   # перезапустить контейнеры сервисов
docker-compose logs      # вывод журналов контейнеров сервисов
docker-compose pull      # загрузить зависимые образы сервисов
docker-compose config    # проверить и показать конфигурацию compose-файла

5. Связанные документы ​