Основные команды развертывания и удаления .NET Core приложений в экземпляре контейнера WEB-Сервер-КС
Для выполнения каких-либо команд, описанных ниже, необходимы права суперпользователя.
Развертывание нового .NET Core приложения
Общая информация
Реализована поддержка автоматической закачки архива приложения для установки с интернет-ресурса. Для этого необходимо указать параметр -s
, например:
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "sBKS" -a "sBKS_19.3.1.2347.tar.gz" -vc "bks" -s "https://keysystems.ru/files/smart/INSTALL/BUDGET_SMART/19.3"
Таким образом, во время установки производится закачивание файла с сайта источника и дальнейшее его разворачивание, без какого-либо локального копирования файла архива в каталог ../tar_files
.
После успешного развертывания приложения в структуре каталогов управления экземпляром контейнера дополнительно создаются:
/opt/wsks-6.0.9_443/ctl/app
|-- <Kestrel порт>_app.sh - основной файл запуска .NET Core приложения
|-- <Kestrel порт>_app.err - файл ошибок запуска .NET Core приложения
/opt/wsks-6.0.9_443/conf.ks/vhost.ks
|-- <Kestrel порт>_ks.conf - конфигурационный файл виртуального хоста для http сервера
/opt/wsks-6.0.9_443/www/html
|-- /wsks_<Kestrel порт> - целевой каталог файлов приложения
|-- *.*
Дополнительно, для хранения файлов первичных документов, создается рабочий каталог вне папки /opt
.
/var/lib/wsks-6.0.9_443/wsks_xxxxx/UPLOADS
Последовательность действий
1. Поместите архив исходных файлов *.tar.gz
в каталог /opt/wsks-6.0.9_443/ctl/tar_files
.
Существуют определенные правила по формированию архива приложения - внутри архива на первом уровне должна присутствовать только одна единственная корневая папка с произвольным именем, а уже внутри нее исходные файлы.
Например, архив можно сформировать следующей командой:
tar -cvzf <имя архива>.tar.gz <имя каталога>
2. Запустить развертывание приложения, выполнив команду:
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t <тип приложения> -a <имя файла архива> и т.д. используя по необходимости те или иные параметры
Параметры | По умолчанию | Описание |
---|---|---|
-t --app_type | Тип устанавливаемого приложения. Параметр поддерживает указание запускающего модуля, если приложение нужно запустить нестандартно. Для этого необходимо после типа указать двоеточие и имя стартового модуля, например: wBKS:web_core.dll .Допустимые типы приложений и сервисов: wBKS - Бюджет-NEXTsBKS - Бюджет-СМАРТsSiUp - Сервис ОД и ЭПsUPDS - Сервис обновленийwSVOD - Свод-СМАРТ (web)sSVOD - Свод-СМАРТwSA - Сервис авторизацииwRVZ - Ревизор-СМАРТ (web)sRVZ - Ревизор-СМАРТwDWH - Проект-СМАРТ (web)sDWH - Проект-СМАРТdDWH - Аналитика-СМАРТwADM - Администратор-Д (web)sADM - Администратор-ДwSMT - Смета-СМАРТ (web)sSMT - Смета-СМАРТwSWrk - Сервис воркеровwLs - Сервис лицензированияwCs - Сервис конфигурацийwSREG - Сервис регистрацииsID - КС IDwIDA - КС ID АдминsTSH - Сервис планировщикаsMSS - Собственность-СМАРТwMSS - Собственность-СМАРТ (web)wDBA - Управление БДwNEWS - Сервис новостейwMCU - КС ДокументыwAC - Сервис администрированияwIDM - КС IDMwDESK - КС ДЕСКwMCHD - КС МЧДwSPrt - Сервис печати wSEod - Сервис ЕОДwMAIL - Сервис оповещений | |
-a --app_tar_archive | Имя архива *.tar.gz для развертывания, обязательное условие - наличие одной корневой папки внутри архива. | |
-p --kestrel_port | auto | Порт кестрел, необходимо указать, если нет возможности автоматически его присвоить, в том случае если все порты заняты другими приложениями. Автоматически вычисляется как рабочий порт текущего http сервера + число от 0 до 9. Используется для всех типов приложений. |
-vc --virt_catalog | Виртуальный каталог для приложения, если не указан, то берется тип + кестрел порт. Используется для всех типов приложений. | |
-st --servertype | Тип источника СУБД: 0 - MSSQL; 1 - Oracle; 2 - Sqllite; 3 - Postgres. | |
-sn --servername | Имя или ip источника СУБД, если используется порт, то его необходимо указать через двоеточие. | |
-dn --dbname | Имя базы данных источника СУБД. Используются для типов приложения: wBKS wDWH wRVZ wSVOD wSBck wADM wKSRD dDWH wSMT wSREG wMSS wNEWS wMCU wIDM wDESK wMCHD. | |
-du --dbuser | Имя пользователя для соединения с БД | |
-dpwd --dbpwd | Пароль пользователя БД Используются для типа приложения: wSA, wSWrk, wSPrt, wSEod, wLs, sID. | |
-wu --wsuser | Имя пользователя-администратора сайта приложения. | |
-wpwd --wspwd | Пароль пользователя-администратора сайта. Испольиуются для типа приложения: wSA, wLs, wCs, sID. | |
-crtk --crtkey | Ключ шифрования информации в БД. Используются для типа приложения: wSA. | |
-mq --mqconn | Строка соединения с брокером очередей в формате: amqp://<имя пользователя>:1@<ip адрес>:<порт> Используется для типа приложения: wSWrk, wSPrt, wSEod | |
-crtv --cryptovendor | cpro | Имя криптопровайдера: cpro - КриптоПро; vnet - VipNet; nocheck - не проверять провайдераИспользуется для типа приложения: sSiUp. |
-s --inet_source | Интернет-ресурс для закачки файла архива. Закачка осуществляется через утилиту wget. Используется для всех типов приложений. | |
-cert --certificate | Cертификат для подписывания токенов Используются для типа приложения: sID. | |
-ci --clientid | Идентификатор клиентcкого приложения. | |
-cs --clientsecret | Секрет клиентского приложения. Используются для типа приложения: sID, wIDA. |
Процедура развертывания
Сервис Бюджет-NEXTwBKS
Задача
Развернуть .NET Core приложение «Бюджет-NEXT» на базе архива /opt/wsks-6.0.9_443/ctl/tar_files/wBKS_20.1.1.tar.gz
Для работы с СУБД MSSQL с именем сервера SRVDB_DEMO\SQL
Базы данных bks_2021
Обращению к сайту обеспечить через виртуальный каталог web
.
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wBKS" -a "wBKS_20.1.1.tar.gz" -vc "web" -st "0" -sn "SRVDB_DEMO\SQL" -dn "bks_2021"
Информация о ходе выполнения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Создание приложения WEB-Сервер-КС ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ OK ] Проверка доступности порта 54430 для устанавливаемого приложения.
[ OK ] Проверка виртуального каталога "web".
[ OK ] Проверка\Создание пользователя www-data.
useradd: пользователь «www-data» уже существует
[ OK ] Создание каталога приложения /opt/wsks-6.0.9_443/www/html/wsks_54430.
[ OK ] Создание файла запуска приложения /opt/wsks-6.0.9_443/ctl/app/54430_app.sh.
Приложение будет доступно по адресу - https://<host_ip>:443/web.
[ OK ] Создание файла конфигурации для приложения /opt/wsks-6.0.9_443/conf.ks/vhost.ks/54430_ks.conf.
[ OK ] Создание файла настроек для приложения /opt/wsks-6.0.9_443/www/html/wsks_54430/appsettings.Production.json.
[ OK ] Остановка сервиса wsks-6.0.9_443.service.
[ OK ] Запуск сервиса wsks-6.0.9_443.service.
Если установка выполнена успешно, то при запуске стартовой страницы в браузере: https://<host_ip>:443/web
должна появиться форма для ввода логина и пароля.
Порт для внутреннего web сервера Kestrel 54430 был назначен автоматически.
Если Вы хотите использовать определенный порт, например, 55555, то необходимо в вызов добавить параметр с указанием вашего порта: -p "55555"
.
Если вдруг в архиве приложения при запуске используется нестандартная стартующая dll, то ее наименование необходимо передать в первом параметре типа после двоеточия (wBKS:web_core.dll
)
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wBKS:web_core.dll" -a "wBKS_20.1.1.tar.gz" -vc "web" -st "0" -sn "KSDB_DEMO\SQL" -dn "bks_192"
Таким образом стандартная стартующая dll будет переопределена.
Аналогично разворачивается и все остальные приложения и сервисы, разница только в указании необходимых дополнительных параметрах.
Сервис Бюджет-СМАРТsBKS
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "sBKS" -a "sBKS_1902.tar.gz" -vc "bks"
Сервис авторизацииwSA
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wSA" -a "wSAuth_3.3.tar.gz" -vc "sa" -st "3" -sn "192.158.0.209:5434" -dn "sa_database" -du "sa_admin" -dpwd "sa12345" -wu "admin" -wpwd "12345" -crtk "abcd1234"
Сервис воркеровwSWrk
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wSWrk" -a "wSWrk_1.0.tar.gz" -vc "wrk" -du "dbo" -dpwd "dbo_password" -mq "amqp://admin:1@192.158.1.237:5672"
Сервис обновленийsUPDS
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "sUPDS" -a "sUPDS_3.3.1.tar.gz" -vc "upd"
Сервис ОД и ЭПsSiUp
Для провайдера CryptoPro
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "sSiUp" -a "sSiUp_3.3.7901.tar.gz" -vc "ecp" -crtv "cpro"
Для провайдера vipnet
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "sSiUp" -a "sSiUp_3.3.7901.tar.gz" -vc "ecp" -crtv "cpro"
Для работы сервиса без поддержки ЭП
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "sSiUp" -a "sSiUp_3.3.7901.tar.gz" -vc "ecp" -crtv "nocheck"
Перед установкой .NET Core приложения «Сервис ОД и ЭП» с поддержкой ЭП, необходимо чтобы провайдер ЭЦП был установлен на хосте до установки экземпляра (контейнера докера)
Если же провайдер устанавливался после создания контейнера, то необходимо выполнить коррекцию его установки (см. ниже).
Обратите внимание!
- Ограничения на установку приложений одного типа в одном контейнере.
В одном экземпляре (контейнере докера) допускается установка только одного приложения «Сервис ОД и ЭП».
При установке двух и более, абсолютно точно НЕ ГАРАНТИРУЕТСЯ стабильная работа сервисов.
- Укажите различные значения портов.
При установке приложений «Сервис ОД и ЭП» в разных экземплярах (контейнерах докера), необходимо указать различные значения портов (по умолчанию порт 9090) в параметре "WinCrypto.CryptoModule.Address" в конфигурационном файле uploadservice.config, например:
<add key="WinCrypto.CryptoModule.Address" value="http://localhost:9091" />
- Установка провайдера ЭП после развертывания сервиса.
Если установка провайдера ЭП осуществляется после развертывания сервиса или экземпляра (контейнера докера), то в этом случае для корректной работы сервиса необходимо скорректировать установку провайдера внутри контейнера экземпляра.
Для это необходимо выполнить следующую команду:
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "cpro"
или
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "vnet"
- Предотвращение потери данных.
Для предотвращения потери данных при случайном удалении приложения «Сервис ОД и ЭП», файловое хранилище создается на хосте по пути /var/lib/<экземпляр контейнера>/wsks_<kestrel_port>/UPLOADS
, который прописывается в параметре Storage.Location во время установки в файле конфигурации uploadservice.config, например:
<add key="Storage.Location" value="/var/lib/wsks-6.0.9_443/wsks_5434" />
(подкаталог /UPLOADS
не указывается, т.к. добавляется автоматически)
Сервис лицензированияwLs
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wLs" -a "wLs_1.0.tar.gz" -vc "lic" -du "dbo" -dpwd "dbo_password" -wu "admin" -wpwd "12345"
Сервис конфигурацийwCs
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wCs" -a "wCs_1.0.tar.gz" -vc "conf" -wu "admin" -wpwd "12345"
Сервис регистрацииwSREG
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wSREG" -a "wSREG_3.3.tar.gz" -vc "lk" -st "3" -sn "192.158.0.209:5434" -dn "sa_database" -du "sa_admin" -dpwd "sa12345"
Удаление существующего развернутого .NET Core приложения
Общая информация
При удалении приложения, физически удаляются:
- Файлы конфигурации виртуального хоста http сервера этого приложения -
<Kestrel порт>_ks.conf
- Файлы запуска приложения -
<Kestrel порт>_app.sh
- целевой каталог файлов приложения -
wsks_<Kestrel порт>
При удалении последнего приложения, сервис экземпляра контейнера не запускается (по причине отсутствия развернутых приложений), таким образом, контейнер останавливается.
Процедура удаления
bash /opt/wsks-6.0.9_443/ctl/ws_delapp.sh -p <Kestrel порт>
Пример: удаление .NET Core приложения по порту Kestrel 54430.
bash /opt/wsks-6.0.9_443/ctl/ws_delapp.sh -p 54430
Информация о ходе выполнения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Удаление приложения WEB-Сервер-КС
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
~ Порт кестрел : 54430
~ Тип : wBKS - Бюджет-СМАРТ
~ Вирт.каталог : bks
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ Запрос ] Вы действительно хотите удалить приложение по Kestrel порту "54430"?
([да;y]/[нет;n]): y
[ OK ] Удаление каталога приложения: /opt/wsks-6.0.9_443/www/html/wsks_54430.
[ OK ] Удаление файла запуска приложения: /opt/wsks-6.0.9_443/ctl/app/54430_app.sh.
[ OK ] Остановка сервиса wsks-6.0.9_443.service.
[ Инфо ] Запуск сервиса wsks-6.0.9_443.service отменен.
Отсутствуют установленные приложения.
Для установки приложений используйте скрипт ws_addapp.sh.
См. инструкцию по развертыванию /opt/wsks-6.0.9_443/ctl/readme.txt
Обновление существующего развернутого .NET Core приложения
Общая информация
При обновлении .NET Core приложения в его корневом каталоге не перезаписываются каталоги данных и логов работы:
- \App_Data\
- \wwwroot\App_data\
Файлы настроек и конфигураций
- appsettings.Production.json;
- uploadservice.config (для типа приложений "sSiUp").
Архив обновления
Архив обновления должен включать полный набор файлов приложений. Поставка изменений не допускается, так как обновление производится путем полной замены содержимого рабочего каталога приложения и последующей записи файлов из архива обновления, кроме файлов и каталогов \App_Data\
\wwwroot\App_data\
.
Криптопровайдер
Если криптопровайдер установлен после разворачивания сервиса, который использует ЭП, то необходимо выполнить коррекцию установки провайдера в контейнере:
«cpro»
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "cpro"
«vnet»
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "vnet"
Это необходимо для обновления ссылок на библиотеки криптопровайдера внутри контейнера.
Процедура обновления
bash /opt/wsks-6.0.9_443/ctl/ws_updapp.sh -t <тип> -a <имя файла архива> -p <Kestrel порт>
Также поддерживается автоматическая закачка файла обновлений с интернет-ресурса. Для этого необходимо указать параметр -s
, например:
bash /opt/wsks-6.0.9_443/ctl/ws_updapp.sh -t "sBKS" -a "sBKS_19.3.1.2347.tar.gz" -p "54430" -s "https://keysystems.ru/files/smart/INSTALL/BUDGET_SMART/19.3"
Информация о ходе выполнения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Обновление приложения WEB-Сервер-КС
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
~ Порт кестрел : 54430
~ Тип : sBKS - Бюджет-СМАРТ
~ Вирт.каталог : bks
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ OK ] Проверка типа архива обновления приложения.
[ OK ] Проверка существования каталога обновляемого приложения.
[ OK ] Запуск закачки файла архива из указанного интернет-ресурса.
2021-09-28 18:02:48 URL:https://keysystems.ru/files/smart/INSTALL/BUDGET_SMART/19.3/BudgetSmart_netcore.tar.gz [24536930/24536930] -> "/opt/wsks-6.0.9_443/ctl/tar_files/_wget_/BudgetSmart_netcore.tar.gz" [1]
[ OK ] Обработка закачанного файла обновления.
- cоздание резервной копии предыдущего файла архива в формате <имя файла>_YYYY-MM-DD_HH:MM:SS.
- размещение нового файла обновления в каталоге ../tar_files.
[ OK ] Остановка приложения wsks_54430.
Pid процесса(ов) хоста для остановки: 8533
[ OK ] Создание временного каталога /opt/wsks-6.0.9_443/ctl/tmp/___tmp_ksws_update_54431.
[ OK ] Распаковка архива обновления во временный каталог.
[ OK ] Сохранение файлов настроек.
[ OK ] Обновление рабочего каталога приложения.
[ OK ] Запуск приложения wsks_54430.
Тип Порт Вирт.каталог Каталог Наименование Статус
-------- -------- -------------------- -------------------------------------------------- ------------------------------ ------
sBKS 54430 bks /opt/wsks-6.0.9_443/www/html/wsks_54430 Бюджет-СМАРТ Run
Остановка отдельно взятого приложения
В процессе работы иногда возникает необходимость выполнить остановку отдельного .NET Core приложения, без остановки контейнера и других работающих приложений, для дополнительной настройки или просто для временного запрета работы, например, чтобы обновить БД.
Управление запуском, остановкой или перезапуском осуществляется выполнением следующих команд:
Остановка
bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430" -m "stop"
Запуск
bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430" -m "start"
Перезапуск
bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430" -m "restart"
Параметр | По умолчанию | Описание |
---|---|---|
-p --kestrel_port | 54430 | Кестрел порт развернутого приложения |
-m --mode | restart | Выполняемое действие:restart - остановить и запустить stop - остановить start - запустить |
Просмотр информации запущенных процессов
bash /opt/wsks-6.0.9_443/ctl/ws_info.sh
Информация о ходе выполнения
----------------------------------------------------------
Процессы http сервера порт 443
----------------------------------------------------------
PID PPID USERNAME %CPU% %MEM% CMD_apache
29 1 root 0.0 0.1 /usr/sbin/apache2 -f /etc/apache2/conf.ks/apache2.conf -k start
30 29 www-data 0.0 0.2 /usr/sbin/apache2 -f /etc/apache2/conf.ks/apache2.conf -k start
31 29 www-data 0.0 0.2 /usr/sbin/apache2 -f /etc/apache2/conf.ks/apache2.conf -k start
----------------------------------------------------------
Процессы мониторинга транслируемые на хост
----------------------------------------------------------
PID PPID USERNAME %CPU% %MEM% CMD_prometheus.yml
177 155 www-data 0.1 0.6 /usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/wsks-6.0.9_443/prometheus --web.listen-address=:9090
----------------------------------------------------------
Процессы контейнеров dotnet, транслируемые на хост
----------------------------------------------------------
PID PPID USERNAME %CPU% %MEM% CMD_dotnet
159 111 www-data 12.3 3.2 /opt/.dotnet/dotnet /var/www/html/wsks_54430/Keysystems.Webservice_core.dll
162 114 www-data 22.4 4.5 /opt/.dotnet/dotnet /var/www/html/wsks_54431/web_core.dll
168 118 www-data 12.5 2.9 /opt/.dotnet/dotnet /var/www/html/wsks_54432/Keysystems.AuthorizationService.dll
172 124 www-data 26.4 3.0 /opt/.dotnet/dotnet /var/www/html/wsks_54433/Keysystems.RabbitWorker.dll
179 134 www-data 10.5 2.2 /opt/.dotnet/dotnet /var/www/html/wsks_54434/Keysystems.UploadWebService.dll
185 145 www-data 48.1 3.3 /opt/.dotnet/dotnet /var/www/html/wsks_54435/FileStorage.dll
Тип Порт Вирт.каталог Каталог Наименование Статус
-------- -------- -------------------- -------------------------------------------------- ------------------------------ ------
sBKS 54430 bks /opt/wsks-6.0.9_443/www/html/wsks_54430 Бюджет-СМАРТ Run
wBKS 54431 web /opt/wsks-6.0.9_443/www/html/wsks_54431 Бюджет-NEXT Run
wSA 54432 sa /opt/wsks-6.0.9_443/www/html/wsks_54432 Сервис авторизации Run
wSWrk 54433 wrk /opt/wsks-6.0.9_443/www/html/wsks_54433 Сервис воркеров Run
sSiUp 54434 ecp /opt/wsks-6.0.9_443/www/html/wsks_54434 Сервис ОД и ЭЦП Run
sUPDS 54435 upd /opt/wsks-6.0.9_443/www/html/wsks_54435 Сервис обновлений Run
----------------------------------------------------------
Сервис (/lib/systemd/system/wsks-6.0.9_443.service)
----------------------------------------------------------
● wsks-6.0.9_443.service - (WSKS)wsks-6.0.9:443 docker container web server
Loaded: loaded (/lib/systemd/system/wsks-6.0.9_443.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2021-09-17 17:29:16 MSK; 10s ago
Process: 589 ExecStart=/opt/wsks-6.0.9_443/ctl/ws_start.sh (code=exited, status=0/SUCCESS)
сен 17 17:29:13 demosrv systemd[1]: Starting (WSKS)wsks-6.0.9:443 docker container web server
сен 17 17:29:14 demosrv ws_start.sh[589]: [ OK ] Запуск контейнера wsks-6.0.9_443.
сен 17 17:29:16 demosrv ws_start.sh[589]: [ OK ] HTTP сервер Apache запущен.
сен 17 17:29:16 demosrv ws_start.sh[589]: [ OK ] Запуск .NetCore приложений.
сен 17 17:29:16 demosrv systemd[1]: Started (WSKS)wsks-6.0.9:443 docker container web server
Копирование всех развернутых приложений, копирование одного отдельно взятого приложения с другого развернутого экземпляра WEB-Сервер-КС, текущей или предыдущей версии.
Полное копирование всех развернутых приложений
Задача
Необходимо выполнить полное копирование всех развернутых приложений на источнике развернутого по порту 443, на приемник по порту 5444.
Условия выполнения
- на приемнике не должно быть установленных приложений;
- копируется только первые 100 приложений с источника (сортировка по именам каталогов приложений).
bash /opt/wsks-6.0.9_5444/ctl/ws_copyfrom.sh -s "wsks-6.0.9_443"
Копирование одного развернутого приложения
Задача
Необходимо выполнить копирование одного развернутого приложения на источнике развернутого по порту 443 с портом кестрел 54430, на приемник по порту 5444.
Условия выполнения
- на приемнике должно быть установленных не более 100 приложений;
Если есть необходимость переназначить виртуальный каталог для копируемого на приемник приложения, то необходимо в команде выполнения указать параметр -vc "<имя виртуального каталога>"
bash /opt/wsks-6.0.9_5444/ctl/ws_copyfrom.sh -s "wsks-6.0.9_443" -m "one" -p 54430
Перенос всех развернутых приложений
Задача
Необходимо перенести все развернуте приложения на новую версию WEB-Сервер-КС с другого развернутого экземпляра WEB-Сервер-КС предыдущей версии по одному и тому же порту web сервера.
Развернут WEB-Сервер-КС версии 3.1.18 по порту 443 - источник (контейнер wsks-3.1.18_443).
Необходимо перенести все приложения на новый WEB-Сервер-КС версии 6.0.9 по этому же порту.
Порядок выполнения:
1. Выполните остановку сервера wsks-3.1.18_443
.
Произвести остановку необходимо для освобождения порта 443.
systemctl stop wsks-3.1.18_443
2. Установите WEB-Сервер-КС версии 6.0.9.
bash /opt/dks-wsks-6.0.9/install.sh
3. Запустите перенос приложений.
bash /opt/wsks-6.0.9_443/ctl/ws_copyfrom.sh -s "wsks-3.1.18_443" -m "replace"
В результате переноса, все приложения будут запущены на новом экземпляре версии @ws_ver.
Если приложение использовало штатный каталог данных /var/lib/wsks-3.1.18_443
, то во время переноса данные будут скопированы в каталог данных нового экземпляра WEB-Сервер-КС /var/lib/wsks-6.0.9_443
и в файлах конфигураций будет выполнена замена указания в путях выражения wsks-3.1.18_443 на wsks-6.0.9_443.
Сервис предыдущей версии wsks-3.1.18_443
будет остановлен и отключен.
Перенос приложений с версий меньше, чем 3.1.24
При переносе развернутых приложений с версий меньше чем 3.1.24, приложения могут работать некорректно.
В этом случае необходимо привести конфигурационные файлы appsettings.Production.json
и дополнительные файлы настроек updateservice.config
, uploadservice.config
и т.д. в соответствие с версией 6.0.9.
Пример сообщения при переносе
[ Инфо ] В файле appsettings.Production.json отсутствует значение для виртуального каталога.
Приложение может работать некорректно или не работать совсем.
Для корректной работы необходимо в секциях "ServiceSettings": или "SystemSettings":
указать значение для виртуального каталога, в формате "PathBase": "<вирт.каталог>".
Например:
"ServiceSettings": {
"PathBase": "/web"
}
Информация об установленных сервисах
По умолчанию, при обращении к развернутому ресурсу без указания какого-либо виртуального каталога, выводится сообщение, которое содержится в файле /opt/wsks-6.0.9_443/www/html/index.html
:
You don't have permission to access folder on this server.
Access forbidden - 403.
Для размещения информации о развернутых сервисах необходимо выполнить генерацию нового файла index.html с последующей перезаписью файла по умолчанию в каталоге /opt/wsks-6.0.9_443/www/html.
Генерация выполняется с указанием в качестве параметра ip или доменного имени ресурса через команду:
bash /opt/wsks-6.0.9_443/ctl/ws_crtind.sh -n "192.168.46.107" -r
или
bash /opt/wsks-6.0.9_443/ctl/ws_crtind.sh -n "mydomain.company.ru" -r
Параметр | Описание |
---|---|
-n | Доменное имя или ip хоста |
-r | Указание на перезапись файла |
После выполнения перегенерации файла index.html, при обращении к ресурсу: https://mydomain.company.ru
в браузере будет выведено:
WEB-Сервер-КС 6.0.9 (apache2/nginx)
Информация о развернутых сервисах:
Сервис Авторизации
Адрес: https://mydomain.company.ru/sa
Идентификатор: 54430
Примечание: Сервис авторизации
Бюджет-СМАРТ
Адрес: https://mydomain.company.ru/bks
Идентификатор: 54431
Примечание: Сервис смарта
Бюджет-NEXT
Адрес: https://mydomain.company.ru/web
Идентификатор: 54433
Примечание: Сервис Бюджет-NEXT