Skip to content

Основные команды развертывания и удаления .NET Core приложений в экземпляре контейнера WEB-Сервер-КС

Для выполнения каких-либо команд, описанных ниже, необходимы права суперпользователя.

Развертывание нового .NET Core приложения

Общая информация

Реализована поддержка автоматической закачки архива приложения для установки с интернет-ресурса. Для этого необходимо указать параметр -s, например:

bash
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.

bash
/var/lib/wsks-6.0.9_443/wsks_xxxxx/UPLOADS

Последовательность действий

1. Поместите архив исходных файлов *.tar.gz в каталог /opt/wsks-6.0.9_443/ctl/tar_files.

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

Например, архив можно сформировать следующей командой:

bash
tar -cvzf <имя архива>.tar.gz <имя каталога>

2. Запустить развертывание приложения, выполнив команду:

bash
 bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t <тип приложения> -a <имя файла архива> и т.д. используя по необходимости те или иные параметры
ПараметрыПо умолчаниюОписание
-t
--app_type
Тип устанавливаемого приложения.
Параметр поддерживает указание запускающего модуля, если приложение нужно запустить нестандартно. Для этого необходимо после типа указать двоеточие и имя стартового модуля, например: wBKS:web_core.dll.
Допустимые типы приложений и сервисов:
wBKS - Бюджет-NEXT
sBKS - Бюджет-СМАРТ
sSiUp - Сервис ОД и ЭП
sUPDS - Сервис обновлений
wSVOD - Свод-СМАРТ (web)
sSVOD - Свод-СМАРТ
wSA - Сервис авторизации
wRVZ - Ревизор-СМАРТ (web)
sRVZ - Ревизор-СМАРТ
wDWH - Проект-СМАРТ (web)
sDWH - Проект-СМАРТ
dDWH - Аналитика-СМАРТ
wADM - Администратор-Д (web)
sADM - Администратор-Д
wSMT - Смета-СМАРТ (web)
sSMT - Смета-СМАРТ
wSWrk - Сервис воркеров
wLs - Сервис лицензирования
wCs - Сервис конфигураций
wSREG - Сервис регистрации
sID - КС ID
wIDA - КС ID Админ
sTSH - Сервис планировщика
sMSS - Собственность-СМАРТ
wMSS - Собственность-СМАРТ (web)
wDBA - Управление БД
wNEWS - Сервис новостей
wMCU - КС Документы
wAC - Сервис администрирования
wIDM - КС IDM
wDESK - КС ДЕСК
wMCHD - КС МЧД
wSPrt - Сервис печати
wSEod - Сервис ЕОД
wMAIL - Сервис оповещений
eGRUL - Сервис ЕГРЮЛ
sSDOC - Сервис ОД 2
wMSS - Собственность-СМАРТ (web)
sMSS - Собственность-СМАРТ
wMSU - Самоуправление-WEB
sMSU - Самоуправление-СМАРТ
wSMEV - Межведомственное взаимодействие-WEB
sSMEV - Межведомственное взаимодействие-СМАРТ
sSMEV2 - Служба СМЭВ
wLKA - Личный кабинет арендатора
wSList - Сервис кеша списков
-a
--app_tar_archive
Имя архива *.tar.gz для развертывания, обязательное условие - наличие одной корневой папки внутри архива.
-p
--kestrel_port
autoПорт кестрел, необходимо указать, если нет возможности автоматически его присвоить, в том случае если все порты заняты другими приложениями. Автоматически вычисляется как рабочий порт текущего http сервера + число от 0 до 9.
Используется для всех типов приложений.
-vc
--virt_catalog
Виртуальный каталог для приложения, если не указан, то берется тип + кестрел порт. Используется для всех типов приложений.
-v
--kscore
Версия kscore.
-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
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
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "sBKS" -a "sBKS_1902.tar.gz" -vc "bks"

Сервис авторизацииwSA

bash
 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
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
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
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
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
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, например:

uploadservice.config
<add key="WinCrypto.CryptoModule.Address" value="http://localhost:9091" />
  • Установка провайдера ЭП после развертывания сервиса.

Если установка провайдера ЭП осуществляется после развертывания сервиса или экземпляра (контейнера докера), то в этом случае для корректной работы сервиса необходимо скорректировать установку провайдера внутри контейнера экземпляра.

Для это необходимо выполнить следующую команду:

bash
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "cpro"
bash
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "vnet"
  • Предотвращение потери данных.

Для предотвращения потери данных при случайном удалении приложения «Сервис ОД и ЭП», файловое хранилище создается на хосте по пути /var/lib/<экземпляр контейнера>/wsks_<kestrel_port>/UPLOADS, который прописывается в параметре Storage.Location во время установки в файле конфигурации uploadservice.config, например:

uploadservice.config
<add key="Storage.Location" value="/var/lib/wsks-6.0.9_443/wsks_5434" />

(подкаталог /UPLOADS не указывается, т.к. добавляется автоматически)

Сервис лицензированияwLs

bash
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
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
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 порт>

При удалении последнего приложения, сервис экземпляра контейнера не запускается (по причине отсутствия развернутых приложений), таким образом, контейнер останавливается.

Процедура удаления

/opt/wsks-6.0.9_443/ctl/
bash
bash /opt/wsks-6.0.9_443/ctl/ws_delapp.sh -p <Kestrel порт>

Пример: удаление .NET Core приложения по порту Kestrel 54430.

/opt/wsks-6.0.9_443/ctl/
bash
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\.

Криптопровайдер

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

bash
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "cpro"
bash
bash /opt/wsks-6.0.9_443/ctl/ws_seteds.sh -crtv "vnet"

Это необходимо для обновления ссылок на библиотеки криптопровайдера внутри контейнера.

Процедура обновления

bash
bash /opt/wsks-6.0.9_443/ctl/ws_updapp.sh -t <тип> -a <имя файла архива> -p <Kestrel порт>

Также поддерживается автоматическая закачка файла обновлений с интернет-ресурса. Для этого необходимо указать параметр -s, например:

bash
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
bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430"  -m "stop"
Запуск
bash
bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430"  -m "start"
Перезапуск
bash
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
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
bash /opt/wsks-6.0.9_5444/ctl/ws_copyfrom.sh -s "wsks-6.0.9_443"

Копирование одного развернутого приложения

Задача

Необходимо выполнить копирование одного развернутого приложения на источнике развернутого по порту 443 с портом кестрел 54430, на приемник по порту 5444.

Условия выполнения

  • на приемнике должно быть установленных не более 100 приложений;

Если есть необходимость переназначить виртуальный каталог для копируемого на приемник приложения, то необходимо в команде выполнения указать параметр -vc "<имя виртуального каталога>"

bash
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.

bash
systemctl stop wsks-3.1.18_443

2. Установите WEB-Сервер-КС версии 6.0.9.

bash
bash /opt/dks-wsks-6.0.9/install.sh

3. Запустите перенос приложений.

bash
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.

Каждый раз после добавления, либо удаления приложений стартовую страницу надо пересоздавать.

bash
bash /opt/wsks-6.0.9_443/ctl/ws_crtind.sh -n "10.38.46.86" -r -s
ПараметрыПо умолчаниюОписание
-n
--dns_name
%dns_name_not_define%Доменное имя или ip хоста.
-s
--sort
Без сортировки.Сортировка по типу приложения.
-r
--replace
01 - перезаписать файл ${dks_inst_path}/www/html/index.html
0 - не перезаписывать

Отредактируйте конфигурационный файл (пример для Nginx).

    location / {
        root   /var/www/html;
        index  index.html index.htm;
    }
    location ~ ^/wsks.* {
        return 400;
    }

Перечитайте конфигурацию Nginx.

bash
docker exec -ti wsks-6.0.9_443 bash -c "/etc/init.d/nginx reload"

После выполнения перегенерации файла 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

© 2003—2025 ООО «Кейсистемс». Все права защищены.