Варианты разворачивания
Last updated
Last updated
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).
• Перейдите в каталог “Процессы” и проверьте появилась ли запись. Если запись появилась, то проверьте, что результат в данной записи “Завершен” - в этом случае можно сделать вывод, что сервер исполнения процессов работает корректно.
Односерверная архитектура, работающая по 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).
• Перейдите в каталог “Процессы” и проверьте появилась ли запись. Если запись появилась, то проверьте, что результат в данной записи “Завершен” - в этом случае можно сделать вывод, что сервер исполнения процессов работает корректно.