Структура и схема
Общая схема
В контейнере http сервер выступает в роли прокси сервера, который перенаправляет запросы на встроенный KsCore веб сервер Kestrel, который в свою очередь уже непосредственно связан с приложением. При разворачивании приложения (без указания порта Kestrel) веб серверу Kestrel назначается порт, равный порту http Nginx с добавлением цифры от 0 до 9 (исключение - порт 443, для прибавления берется значение 5443).
Пример: Для порта http сервера Nginx 443, для приложения 1 будет назначен порт 54430, приложения 2 - 54431 и так далее по порядку до 54439.
Таким образом, без указания порта Kestrel можно развернуть до 100 приложений. Дальнейшее развертывание 101 приложения в рамкам текущего контейнера по 443 порту http сервера Nginx или Angie уже потребует указать порт вручную. Если установка производится без web сервера, то приложения доступны только по протоколу http и по портам Kestrel.
Схема развертывания

Структура каталога управления
/opt/wsks-8.0_443
|-- /conf.ks
|-- /vhost.ks
|-- nginx.conf
|-- ports_ks.conf
|-- sslks.conf
|-- vhost_ks.conf
|-- /ctl
|-- /app
|-- /sys
|-- /tar_files
|-- app_start.sh
|-- app_stop.sh
|-- readme.txt
|-- ws_*.sh
|-- /log
|-- *.log
|-- /ssl
|-- wsks-19.08_demo.crt
|-- wsks-19.08_demo.key
|-- /template
|-- 5xxx_app.sh.t
|-- 5xxx_ks.conf.t
|-- *appsettings.Production.json.t
|-- /www
|-- /html
|-- index.html
|-- COPYRIGHT
|-- dks_version| Наименование | Описание |
|---|---|
/conf.ks | Каталог конфигурационных файлов для http сервера. |
/ctl | Каталог с файлами управления прикаладными приложениями. |
/app | Каталог модулей запуска прикладных приложений. |
/sys | Каталог системных модулей. |
/tar_files | Каталог для архивов исходного кода для развертывания прикладных приложений. |
app_start.sh | bash скрипт запуска прикладных приложений. |
app_stop.sh | bash скрипт остановки прикладных приложений. |
readme.txt | Текущий файл описания. |
ws_*.sh | bash скрипты управления. |
/log | Каталог логирования работы http сервера. |
/ssl | Самоподписанные демо сертификаты для ssl соединения. |
/template | Каталог шаблонов файлов конфигурации и управления прикладными приложениями. |
/www | Каталог для развертывания рабочих каталогов прикладных приложений. |
COPYRIGHT | Файл лицензии. |
dks_version | Файл версии установочного пакета. |
Структура каталога данных
Каталог для хранения каких-либо изменяемых данных приложений:
/var/lib/wsks-8.0_443Файл в структуре systemd, обеспечивающий автоматический запуск контейнера и приложений после перезапуска хоста:
/lib/systemd/system/wsks-8.0_443.serviceСтруктура смонтированных каталогов http сервера Nginx и Angie
Поставка http серверов в контейнере осуществляется с базовыми настройками, но все конфигурационные файлы и файлы логов работы серверов смонтированы на хост, что позволяет дополнительно их настраивать и конфигурировать.
/opt/wsks-8.0_443
|-- /conf.ks
|-- /vhost.ks
|-- 54430_ks.conf
|-- ............
|-- nginx.conf
|-- nginx_server.conf
|-- sslks.conf
|-- /log
|-- error.log
|-- nginx.error.log
|-- /ssl
|-- wsks-19.08_demo.crt
|-- wsks-19.08_demo.key| Наименование | Описание |
|---|---|
conf.ks | Каталог конфигурационных файлов для http сервера (путь в контейнере /etc/nginx/conf.ks). |
54430_ks.conf | Описание виртуального хоста конечного прикладного приложения. |
nginx.conf | Главный файл конфигурации. Запуск в контейнере: /usr/sbin/nginx -c /etc/nginx/conf.ks/nginx.conf. |
sslks.conf | Конфигурация ssl соединений (https протокол). |
vhost_ks.conf | Конфигурация виртуальных хостов. |
nginx_server.conf | Файл конфигурации сервера и виртуальных хостов. |
log | Каталог логов работы. Путь в контейнере /var/log/nginx/. |
ssl | Каталог с демо сертификатами. Путь в контейнере /etc/nginx/ssl/. |