Варианты разворачивания
Общая структура
Bpium Enterprise состоит из 3 независимых приложений:
Bpium — сервер приложения и логики
Bpium S3 — сервер файлового хранилища
Bpium BPM — сервер исполнения процессов
Также для работы используются другие приложения:
Postgre SQL — сервер баз данных
Redis— сервер хранилища состояния процессов и очереди заданий
Клиенты для работы сотрудников:
Веб-приложение (браузер) — приложение для настройки системы и работы сотрудников
Мобильное приложение — приложение для работы сотрудников
Серверные приложения, база данных и файловое хранилище могут быть установлены на одном или разных серверах, работать на защищенном канале связи HTTPS или незащищенном HTTP.
Основные схемы
Минимальный набор для тестового запуска Бипиум
Описание:
Односерверная архитектура, работающая по HTTP без балансировщика. Самый простой вариант разворачивания. Все 3 приложения и база данных работают на одном сервере, клиент обращается к приложениям напрямую по HTTP. Данный вариант используется крайне редко, так как сервисов, работающих на незащищенном канале связи HTTP, с каждым днем становится всё меньше и меньше, поэтому данную схему рекомендуем использовать только для тестового запуска Бипиума.
Подробная инструкция данного варианта разворачивания на Windows-сервере описана в нашей статье “Установка как служба”
Требуемое ПО:
Дистрибутив Bpium
PostgreSQL
Redis
Как настроить:
Установить PostgreSQL и создать пустую базу данных • Версия не ранее 10 (допустимы 11+, 12+, 13+, 14+) • Сервер PostgreSQL должен быть установлен на том же сервере, что и Bpium, или на другом отдельном сервере, но в пределах локальной сети (если на удаленном сервере, то могут будут большие задержки) • Сервер PostgreSQL должен работать как служба (в Windows)
Установить Redis • Версия: последняя • Redis должен работать как служба (в Windows) • Ссылка сборки для Windows: https://github.com/MicrosoftArchive/redis/releases
Собрать конфигурационный файл config.env для Bpium. Ознакомиться со всеми параметрами можно в статье Параметры config.env Необходимые минимальные для данной схемы параметры и их описание:
Параметр | Описание | Значение для схемы |
---|---|---|
DB_CONNECTION_STRING | строка подключения к базе данных Бипиума. Формат: postgres://логин:пароль@адрес:порт/бд | Пример: postgres://user:password@localhost:5432/bpium_db |
HOST | публичный/локальный IP-адрес или домен сервера для доступа из внешних ресурсов. | Пример: domen.ru или 213.48.87.211 |
PORT_HTTP | порт веб-сервера Bpium для входящих HTTP запросов. | 80 |
S3_HOST | публичный/локальный IP-адрес или домен сервера хранилища файлов для доступа из внешних ресурсов | Пример: domen.ru или 213.48.87.211 |
S3_PORT | порт хранилища файлов S3 | 2020 |
BPM_HOST | публичный/локальный IP-адрес или домен сервера для доступа из внешних ресурсов. Формат: domen.ru или 213.48.87.211 | localhost |
BPM_PORT | порт сервера процессов BPM | 2030 |
Запустить исполняемый файл bpium-setup. Данный исполняемый файл подготовит базу данных для работы приложения: при пустой базе данных будут созданы необходимые для запуска таблицы, созданы системные данные; если эти данные уже есть в базе, при необходимости будет проведена миграция.
Запустить приложения Бипиума. Есть 2 варианта запуска: 1) Просто запустить исполняемые файлы приложений (bpium, bpium-s3, bpium-bpm) 2) Зарегистрировать приложения в системе в качестве служб/демонов. Так как данную схему мы рекомендуем только для тестового развертывания, предлагаем воспользоваться первым вариантом
Проверка работы: 1) Проверка основного Bpium-сервера (API): запустите браузер и в адресной строке наберите домен или IP-адрес, который был указан в config.env файле в параметре HOST. Если откроется страница авторизации, значит Bpium-сервер работает. Стандартный логин и пароль для авторизации: admin/admin 2) Проверка сервера хранилища файлов (Bpium-S3). Создайте новый каталог с одним полем типа Файл, создайте новую запись в данном каталоге и попробуйте загрузить туда любой небольшой файл. Если рядом с файлом не появился восклицательный знак, значит сервер хранилища файлов работает корректно. 3) Проверка сервера исполнения процессов (Bpium-BPM). • Перейдите в каталог “Сценарии”, создайте новую запись с любым сценарием(можно даже простой сценарий с компонентами Начало процесса и Конец процесса). • Перейдите в каталог “Внешние запросы”, создайте новую запись: в поле URL укажите значение test, в поле Сценарий выберите созданный ранее сценарий. • В адресной строке наберите следующую строку:
адрес_сервера/api/webrequest/test
где адрес_сервера - это домен или IP-адрес сервера Bpium (параметр HOST из файла config.env). • Перейдите в каталог “Процессы” и проверьте появилась ли запись. Если запись появилась, то проверьте, что результат в данной записи “Завершен” - в этом случае можно сделать вывод, что сервер исполнения процессов работает корректно.
Рекомендуемый набор для рабочего (production) запуска Бипиум
Описание:
Односерверная архитектура, работающая по HTTPS с дополнительным веб-сервером (балансировщиком) nginx. В данной схеме запросы сначала поступают на балансировщик через защищенный канал HTTPS, расшифровываются и перенаправляются нужному приложению по HTTP. Поэтому в настройках балансировщика должны быть прописаны соответствующие правила, перенаправляющие запросы нужному приложению. Именно данный вариант разворачивания мы сами используем при установке на серверах клиентов, а также рекомендуем тем, кто выполняет установку самостоятельно.
В иллюстрации схемы все 3 приложения и база данных работают на одном сервере, но мы всё таки рекомендуем вынести базу данных в отдельный сервер, так как это самая нагруженная часть приложения.
Требуемое ПО:
Дистрибутив Bpium
PostgreSQL
Redis
Nginx в качестве веб-сервера балансировщика
Зарегистрированное доменное имя
Сертификат безопасности выданный для зарегистрированного домена Узнать о том, как получить сертификат для Вашего домена можно в этой статье
Как настроить:
Установить PostgreSQL и создать пустую базу данных • Версия не ранее 10 (допустимы 11+, 12+, 13+, 14+) • Сервер PostgreSQL должен быть установлен на том же сервере, что и Bpium, или на другом отдельном сервере, но в пределах локальной сети (если на удаленном сервере, то могут будут большие задержки) • Сервер PostgreSQL должен работать как служба (в Windows)
Установить Redis • Версия: последняя • Redis должен работать как служба (в Windows) • Ссылка сборки для Windows: https://github.com/MicrosoftArchive/redis/releases
Установить Nginx • Версия последняя
Собрать конфигурационный файл для Nginx Мы используем следующий конфигурационный файл:
Собрать конфигурационный файл config.env для Bpium. Необходимые минимальные для данной схемы параметры и их описание:
Параметр | Описание | Значение для схемы |
---|---|---|
DB_CONNECTION_STRING | строка подключения к базе данных Бипиума. Формат: postgres://логин:пароль@адрес:порт/бд | Пример: postgres://user:password@localhost:5432/bpium_db |
HOST | домен сервера для доступа из внешних ресурсов | Формат: domen.ru |
PORT_HTTP | порт веб-сервера Bpium для входящих HTTP запросов | 3000 |
S3_HOST | домен сервера хранилища файлов для доступа из внешних ресурсов | Формат: domen.ru |
S3_PORT | порт хранилища файлов S3 по которому обращается Bpium Server | 443 |
S3_HTTPS | Использовать протокол HTTPS. | true |
BPM_HOST | публичный/локальный IP-адрес или домен сервера исполнения процессов | localhost |
BPM_PORT | порт сервера исполнения процессов BPM | 2030 |
В данной схеме в параметре PORT_HTTP 80-ый и 443-ий порты указывать нельзя, так как этот порт будет открыт nginx’ом. Рекомендуем использовать любой другой порт, например: 3000
Собрать конфигурационный файл config.env для Bpium-S3. Приложение Bpium-S3 в данной схеме требует отдельного файла config.env, поэтому само приложение и конфигурационный файл должны быть в отдельной директории.
Параметр | Описание | Значение для схемы |
---|---|---|
S3_HOST | домен сервера хранилища файлов | Формат: domen.ru |
S3_PORT | порт, на котором будет работать сервер хранилища файлов | 2020 |
Запустить исполняемый файл bpium-setup. Данный исполняемый файл подготовит базу данных для работы приложения: при пустой базе данных будут созданы необходимые для запуска таблицы, созданы системные данные; если эти данные уже есть в базе, при необходимости будет проведена миграция.
Запустить nginx.
Запустить приложения Бипиума. Есть 2 варианта запуска: 1) Просто запустить исполняемые файлы приложений (bpium, bpium-s3, bpium-bpm) 2) Зарегистрировать приложения в системе в качестве служб/демонов. Для проверки работы рекомендуем воспользоваться сначала первым вариантом. После проверки уже зарегистрировать приложения в системе в качестве служб/демонов После проверки уже зарегистрировать приложения в системе в качестве служб/демонов
Проверка работы: 1) Проверка основного Bpium-сервера (API): запустите браузер и в адресной строке наберите домен, который был указан в основном config.env файле в параметре HOST. Если откроется страница авторизации, значит Bpium-сервер работает. Стандартный логин и пароль для авторизации: admin/admin 2) Проверка сервера хранилища файлов (Bpium-S3). Создайте новый каталог с одним полем типа Файл, создайте новую запись в данном каталоге и попробуйте загрузить туда любой небольшой файл. Если рядом с файлом не появился восклицательный знак, значит сервер хранилища файлов работает корректно. 3) Проверка сервера исполнения процессов (Bpium-BPM). • Перейдите в каталог “Сценарии”, создайте новую запись с любым сценарием(можно даже простой сценарий с компонентами Начало процесса и Конец процесса). • Перейдите в каталог “Внешние запросы”, создайте новую запись: в поле URL укажите значение test, в поле Сценарий выберите созданный ранее сценарий. • В адресной строке наберите следующую строку:
адрес_сервера/api/webrequest/test
где адрес_сервера - это домен сервера Bpium (параметр HOST из файла config.env). • Перейдите в каталог “Процессы” и проверьте появилась ли запись. Если запись появилась, то проверьте, что результат в данной записи “Завершен” - в этом случае можно сделать вывод, что сервер исполнения процессов работает корректно.
Last updated