Задача отдельного BIMViewer сервера - снимать часть нагрузки с основного веб-сервера для повышения скорости работы системы.
Настройку можно поделить на несколько этапов:
- Подготовка сервера
- Развертывание серверной части
- Настройка перенаправления запросов
- Проверка
Подготовка сервера
Требования к серверу указаны в этой статье и зависят от количества пользователей системы.
Сервер должен соответствовать предъявленным требованиям или превышать их.
У веб-приложения на BIMViewer сервере должен быть доступ к файловому хранилищу основного веб-сервера.
В Linux системах для монтирования папки по сети можно использовать NFS.
Монтирование папки файлового хранилища по сети на примере Ubuntu
Настройка основного веб-сервера
- Установить необходимое ПО
apt install nfs-kernel-server - Добавить в файл /etc/exports строку вида
<ПУТЬ_К_ХРАНИЛИЩУ> <IP_BIMVIEWER_СЕРВЕРА>(rw,sync,no_subtree_check) - Применить настройки командами
exportfs -asystemctl restart nfs-kernel-server
Настройка BIMViewer сервера
- Установить необходимое ПО
apt install nfs-common - Создать точку монтирования по такому же пути как на основном сервере
mkdir -p <ПУТЬ_К_ХРАНИЛИЩУ> - Смонтировать папку
mount <IP_ОСНОВНОГО_СЕРВЕРА>:<ПУТЬ_К_ХРАНИЛИЩУ> <ПУТЬ_К_ХРАНИЛИЩУ> - Проверить, что данные видны с BIMViewer сервера
ls <ПУТЬ_К_ХРАНИЛИЩУ> - Настроить автоматическое монтирование после загрузки системы добавив в файл /etc/fstab строку вида
<IP_ИСТОЧНИКА>:<ПУТЬ_К_ХРАНИЛИЩУ> <ПУТЬ_К_ХРАНИЛИЩУ> nfs defaults,user,exec,_netdev 0 0
Развертывание серверной части
Процедура развертывания описана в этой статье.
Далее будут указаны отличия и уточнения для развертывания BIMViewer сервера.
- Разворачивать нужно только Vitro.Server.Core.Web, разворачивать Vitro.Server.Workflow.Web не нужно
- На сервере не нужно устанавливать NGINX, PostgreSQL, libgdiplus и разворачивать базу данных
- Из конфигурационных файлов есть смысл заполнять только db.json
- В конфигурационных файлах нужно указывать параметры как на основном сервере
- Если NGINX не был установлен, то
- в системе не будет пользователя и группы www-data
- соответственно, пользователя и группу владельца для папок нужно изменять, например, на текущего пользователя
- этого же пользователя нужно указать в параметре User при настройке службы vitro-server.service
- Для обеспечения возможности подключения к веб-приложению с основного веб-сервера укажите в параметре ExecStart вместо localhost IP-адрес BIMViewer сервера
- Добавлять шаблоны рабочих процессов, файл лицензии и изменять ключи в списке Конфигурации повторно не нужно
Настройка перенаправления запросов
Перенаправлять запросы нужно через NGINX, который был настроен при развертывании основного веб-сервера.
В конфигурационный файл /etc/nginx/sites-available/default необходимо добавить следующие блоки
location /bimViewer/api {
proxy_pass http://<IP_BIMVIEWER_СЕРВЕРА>:4615;
}
location /dxfViewer/api {
proxy_pass http://<IP_BIMVIEWER_СЕРВЕРА>:4615;
}
После добавления параметров и сохранения изменений необходимо перезапустить службу NGINXsystemctl reload nginx
Проверка
Убедитесь, что работоспособность системы не нарушена и модели открываются в BIMViewer.
После проверьте список Аудит запросов. Запросы с bimViewer либо dxfViewer должны в поле Имя хоста содержать IP-адрес BIMViewer сервера.