Skip to content

Структура и схема

Общая схема

В контейнере http сервер выступает в роли прокси сервера, который перенаправляет запросы на встроенный ASP.NET Core веб сервер Kestrel, который в свою очередь уже непосредственно связан с приложением. При разворачивании приложения (без указания порта Kestrel) веб серверу Kestrel назначается порт, равный порту http Apache с добавлением цифры от 0 до 9 (исключение - порт 443, для прибавления берется значение 5443).

Пример: Для порта http сервера Apache 443, для приложения 1 будет назначен порт 54430, приложения 2 - 54431 и так далее по порядку до 54439.

Таким образом, без указания порта Kestrel можно развернуть до 100 приложений. Дальнейшее развертывание 101 приложения в рамкам текущего контейнера по 443 порту http сервера Apache или Nginx уже потребует указать порт вручную. Если установка производится без web сервера, то приложения доступны только по протоколу http и по портам Kestrel.

Схема развертывания

schema

Структура каталога управления

|-- /conf.ks           
    |-- /vhost.ks
    |--  apache2.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Каталог с файлами управления .NET Core приложениями.
/appКаталог модулей запуска .NET Core приложений.
/sysКаталог системных модулей.
/tar_filesКаталог для архивов исходного кода для разворачивания .NET Core приложений.
app_start.shbash скрипт запуска .NET Core приложений.
app_stop.shbash скрипт остановки .NET Core приложений.
readme.txtТекущий файл описания.
ws_*.shbash скрипты управления.
/logКаталог логирования работы http сервера.
/sslСамоподписанные демо сертификаты для ssl соединения.
/templateКаталог шаблонов файлов конфигурации и управления .NET Core приложениями.
/wwwКаталог для развертывания рабочих каталогов .NET Core приложений.
COPYRIGHTФайл лицензии.
dks_versionФайл версии установочного пакета.

Структура каталога данных

Каталог для хранения каких-либо изменяемых данных приложений:

/var/lib/wsks-6.0.9_443

Файл в структуре systemd, обеспечивающий автоматический запуск контейнера и приложений после перезапуска хоста:

/lib/systemd/system/wsks-6.0.9_443.service

Структура смонтированных каталогов http сервера Apache и Nginx

Поставка http серверов в контейнере осуществляется с базовыми настройками, но все конфигурационные файлы и файлы логов работы серверов смонтированы на хост, что позволяет дополнительно их настраивать и конфигурировать.

/opt/wsks-6.0.9_443
    |-- /conf.ks                                 
             |-- /vhost.ks
                    |-- 54430_ks.conf             
                    |-- ............

             |-- apache2.conf                     
             |-- ports_ks.conf                     
             |-- sslks.conf                        
             |-- vhost_ks.conf                     

    |-- /log                                     
             |-- error.log
             |-- error_access.log

    |-- /ssl                                     
             |-- wsks-19.08_demo.crt
             |-- wsks-19.08_demo.key
/opt/wsks-6.0.9_443
    |-- /conf.ks
             |-- /vhost.ks
                    |-- 54430_ks.conf
                    |-- ............

             |-- nginx.conf
             |-- nginx_server.conf
             |-- sslks.conf

    |-- /log  
             |-- error.log
             |-- error_access.log

    |-- /ssl  
             |-- wsks-19.08_demo.crt
             |-- wsks-19.08_demo.key
НаименованиеОписание
conf.ksКаталог конфигурационных файлов для http сервера
- путь в контейнере /etc/apache2/conf.ks
- путь в контейнере Nginx /etc/nginx/conf.ks
54430_ks.confОписание виртуального хоста конечного .Net Core приложения
apache2.conf
nginx.conf
Главный файл конфигурации
- запуск в контейнере Apache :
/usr/sbin/apache2ctl -f /etc/apache2/conf.ks/apache2.conf -k start
- запуск в контейнере Nginx:
/usr/sbin/nginx -c /etc/nginx/conf.ks/nginx.conf
ports_ks.confКонфигурация портов
sslks.confКонфигурация ssl соединений (https протокол)
vhost_ks.confКонфигурация виртуальных хостов
nginx_server.confФайл конфигурации сервера и виртуальных хостов
logКаталог логов работы
- путь в контейнере для Apache /var/log/apache2/
- путь в контейнере Nginx /var/log/nginx/
sslКаталог с демо сертификатами
- путь в контейнере для Apache /etc/apache2/ssl/
- путь в контейнере Nginx /etc/nginx/ssl/

Структура смонтированных каталогов модулей мониторинга

/opt/wsks-6.0.9_443
    |-- /conf.etc                                
             |-- /prometheus
                   |-- /sd_files
                        |-- *_prometheus.json      
                   |-- prometheus.yml             

    |-- /log                                  
             |-- prometheus.log

/var/lib/wsks-6.0.9_443
    |-- /prometheus
НаименованиеОписание
conf.etcКаталог конфигурационных файлов модулей мониторинга
*_prometheus.jsonФайлы конфигураций "работ" prometheus
prometheus.ymlГлавный файл конфигурации prometheus
logКаталог логов работы (путь в контейнере /var/log/apache2/ или /var/log/nginx/)
prometheusКаталог данных prometheus

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