+7(989)2759526

ГЛАВНАЯ » Парус 10 » Администрирование » Документация » Ручное конфигурирование (файлы config)

Ручное конфигурирование (файлы config)

Файл конфигурации сервера приложений

Параметры работы сервера приложений (СП) задаются в специальном конфигурационном файле appserver.config, который должен располагаться в корне каталога СП. Файл имеет формат XML и, соответственно, должен начинаться с сигнатуры:

<?xml version="1.0" encoding="windows-1251"?>

Все параметры настройки сервера приложений задаются в тэге server-config. Внутри данного тэга прописываются параметры настроек. Таким образом, общий вид файла конфигурации выглядит следующим образом:

<?xml version="1.0" encoding="windows-1251"?>

<server-config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

</server-config>

Все настройки сгруппированы по их назначению. Каждая группа настроек прописывается в отдельном тэге. Для сервера приложений определены следующие группы настроек:

·database - параметры подключения к БД;

·server-mode - режим работы сервера приложений;

·logging - настройка протоколирования;

·security-config - настройка безопасности (назначение ролей сервера приложений группам пользователей операционной системы);

·storage - конфигурация хранилища;

·update-service - настройка сервиса обновления.

Параметры подключения к БД <database>

Обязательный тэг. Определяет параметры подключения сервера приложений к серверу БД. Внутри тэга определяется название поставщика СУБД (тэг provider), строка подключения к БД (тэг work-db-connection-string), лимит времени ожидания выборки СУБД (тэг select_timeout), лимит времени ожидания команды СУБД (тэг command_timeout).

Синтаксис:

<database>

  ...

</database>

Провайдер сервера БД <provider>

Обязательный тэг provider определяет имя поставщика сервера БД.

Синтаксис:

<provider>провайдер БД</provider>

 

где:

·провайдер БД - имя провайдера БД. В настоящее время платформа предоставляет следующий перечень провайдеров БД:

·MSSQL;

·ORACLE;

·PostgreSQL.

Строка подключения к БД <work-db-connection-string>

 

Обязательный тэг work-db-connection-string определяет строку подключения к БД, которая используется поставщиком БД.

Синтаксис:

<work-db-connection-string>строка подключения</work-db-connection-string>

где:

·строка подключения - строка подключения к БД.

Время ожидания ответов СУБД

Необязательный тэг select_timeout лимит времени ожидания получения результата выборки с сервера БД в секундах.

Синтаксис:

<select_timeout>число</select_timeout>

где:

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

Необязательный тэг command_timeout лимит времени ожидания выполнения команды серверу БД в секундах.

Синтаксис:

<command_timeout>число </command_timeout>

где:

·число - лимит времени ожидания выполнения команды на сервера БД в секундах.

Пример:

<?xml version="1.0" encoding="windows-1251"?>

<server-config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<database>

<provider>MSSQL</provider>

<work-db-connection-string>Integrated Security=SSPI;Initial Catalog=MyDB;Data source=(local)\SQLEXPRESS</work-db-connection-string>

<select_timeout>30000</select_timeout>

<command_timeout>30000</command_timeout>

</database>

</server-config>

Внимание! Максимальное значение для параметров select_timeout и command_timeout равно 65535.  

 

 

Настройка протоколирования <logging>

Необязательный параметр конфигурации logging определяет настройку протоколирования работы сервера приложений. В платформе определены следующие типы хранилищ протокола, в которые выводятся сообщения работы СП:

·Консольный вывод

·Текстовой файл

·Журнал событий ОС

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

Внутри тэга logging определяется тэг loggers, в котором, используя тэги logger, перечисляются один за другим все необходимые варианты протоколирования.

Пример:

<?xml version="1.0" encoding="windows-1251"?>

<server-config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

...

<logging>

<loggers>

<logger type="...">...</logger>

<logger type="...">...</logger>

</loggers>

</logging>

</server-config>

Для выбора типа протоколирования у тэга logger используется атрибут type, значением которого является полное имя класса (включая имя сборки) соответствующего типа протокола. Внутри тэга logger с помощью тэгов filter-level и params задаются настройки текущего протокола.

Синтаксис:

<logger type="тип протокола">

<filter-level>уровень фильтрации сообщений</filter-level>

<params>

<item key="имя параметра" value="значение параметра"></item>

<item key="имя параметра" value="значение параметра"></item>

</params>

</logger>

где:

·тип протокола - определяет тип протокола и может принимать следующие значения:

Значение

Описание

Parus.Net.Logger.StandardStores.ConsoleLogStore, AppServer.Common

Консольный вывод

Parus.Net.Logger.StandardStores.TextFileLogStore, AppServer.Common

Текстовой файл

Parus.Net.Logger.StandardStores.SysLogStore, AppServer.Common

Журнал событий ОС

·уровень фильтрации сообщений - определяет один из предопределенных уровней фильтрации выводимых сообщений:

Значение

Описание

Minimal

Все сообщения без исключений

VeryLow

Все сообщения на уровне обращения к БД

Low

Все сообщения на уровне публикации объектов для доступа удаленного клиента, а также события отключения сессии

BelowNormal

Все сообщения на уровне менеджера нотификации клиента

Normal

Все сообщения на уровне развертывания пакетов

AboveNormal

Все сообщения менеджера нотификации клиента

BelowHigh

Ошибки асинхронных задач

High

Все ошибки

AboveHigh

В настоящее время не используется (уровень фильтрации такой же, как и VeryHigh)

VeryHigh

Вывод отладочной информации

Maximal

Вывод всех сообщений отключен

·По умолчанию для консольного режима работы сервера приложений используется уровень фильтрации VeryLow, а для режима работы в качестве службы - AboveNormal.

·имя параметра - имя параметра для настройки конкретного типа протокола;

·значение параметра - значение параметра для настройки конкретного типа протокола.

Имена параметров и их значения зависят от конкретного типа протокола.

Вывод протокола в консольное окно сервера приложений (type = "Parus.Net.Logger.StandardStores.ConsoleLogStore")

Этот тип протоколирования не имеет специфических параметров, и поэтому тэг params может быть опущен.

Пример:

<?xml version="1.0" encoding="windows-1251"?>

<server-config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

...

<logging>

<loggers>

<logger type="Parus.Net.Logger.StandardStores.ConsoleLogStore, AppServer.Common">

<filter-level>Low</filter-level>

</logger>

</loggers>

</logging>

</server-config>

Вывод протокола в текстовый файл (type = "Parus.Net.Logger.StandardStores.TextFileLogStore")

Определяет вывод протокола в файл.

Дополнительные параметры (тэг params):

·path - путь к папке, где хранятся создаваемые файлы протокола. Имена файлов протоколов формируются автоматически;

·period - период создания файлов. Значением данного параметра является одна из предопределенных констант.

Значение

Описание

hourly

Новый файл протокола создается каждый час. Имена файлов имеет вид ГГГГ_ММ_ДД_ЧЧ.log, где ГГГГ - год, ММ - месяц, ДД -день, ЧЧ - час, например: 2012_10_16_13.log

daily

Новый файл протокола создается ежедневно. Имена файлов имеет вид ГГГГ_ММ_ДДD.log, где ГГГГ - год, ММ - месяц, ДД -день, например: 2012_10_16D.log

weekly

Новый файл протокола создается еженедельно. Имена файлов имеет вид ГГГГ_ММ_ННW.log, где ГГГГ - год, ММ - месяц, НН -неделя года, например: 2012_10_41W.log

monthly

Новый файл протокола создается ежемесячно. Имена файлов имеет вид ГГГГ_ММ.log, где ГГГГ - год, ММ - месяц, например: 2012_10.log

Пример:

<?xml version="1.0" encoding="windows-1251"?>

<server-config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

...

<logging>

<loggers>

<logger type="Parus.Net.Logger.StandardStores.TextFileLogStore">

<filter-level>Minimal</filter-level>

<params>

<item key="path" value="C:\Temp\Logs"/>

<item key="period" value="daily"/>

<item key="size" value="1000000" />

</params>

</logger>

</loggers>

</logging>

</server-config>

 

Важно! Ведение подробного протокола может снизить производительность сервера приложений, поэтому рекомендуется включать протоколирование только для устранения ошибок. Также не имеет смысла включать протоколирование в консольное окно, если сервер запускается в режиме службы. 

 

 

Важно! После изменения параметров в файле конфигурации необходимо перезапустить сервер приложений. 

 

Настройка безопасности <security-config>

Во вложенном тэге <role-groups> определяются назначения ролей сервера приложений группам пользователей ОС. В текущей версии применяются две роли: право на работу в приложениях системы (роль User) и право на администрирование системы (роль ServerAdministrator). Обязательно должны быть перечислены обе роли: User и ServerAdministrator. Допускается назначение обеих ролей одной группе пользователей, но назначить нескольким группам операционной системы одну роль сервера приложений нельзя.

Пример:

<?xml version="1.0" encoding="windows-1251"?>

<server-config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

...

<security-config>

<role-groups>

<role-group group-name="Users" role="User"/>

<role-group group-name="AppServerAdministrators" role="ServerAdministrator"/>

</role-groups>

</security-config>

</server-config>

Пример файла конфигурации:

<?xml version="1.0" encoding="windows-1251"?>

<server-config xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 

<!-- подключение к базе tornado локально установленного SQL Server-->

<database>

<provider>MSSQL</provider>

<work-db-connection-string>Integrated Security=SSPI;Initial Catalog=tornado;Data Source=(local)</work-db-connection-string>

</database>

 

<!-- одновременно вывод в файл и консольное окно-->

<logging>

<loggers>

<!-- самый подробный файл протокола создается ежедневно в папке C:\Temp\Logs-->

<logger type="Parus.Net.Logger.StandardStores.TextFileLogStore, AppServer.Common">

<filter-level>Minimal</filter-level>

<params>

<item key="path" value="C:\Temp\Logs"/>

<item key="period" value="daily"/>

</params>

</logger>

<!-- в консольное окно выводятся ошибки-->

<logger type="Parus.Net.Logger.StandardStores.ConsoleLogStore, AppServer.Common">

<filter-level>High</filter-level>

</logger>

</loggers>

</logging>

<!-- члены группы Сотрудники могут использовать и администрировать сервер приложений -->

<security-config>

<role-groups>

<role-group group-name="Сотрудники" role="User"/>

<role-group group-name="Сотрудники" role="ServerAdministrator"/>

</role-groups>

</security-config>

</server-config>

Настройка сервисных портов <update-service>, <client-update-service> и <notify-service>

Необязательные параметры update-service, client-update-service и notify-service определяют к какому порту СП будут обращаться Клиент обновления (КО) и Клиент сервера приложения (КСП) соответственно.

·update-service имеет вложенные тэги <port> и <client-timeout>. Тэг <port> определяет номер порта для работы с КО, а тэг <client-timeout> определяет таймаут (в минутах) после которого СП разорвет соединение с КО, если от него не будет исходить никакой активности.

·client-update-service имеет только вложенный тэг <port>. Тэг <port> определяет номер порта для опроса и обновления КСП. КСП сам получает от СП порт для обновлений т.е. КСП отдельно настраивать не нужно.

·notify-service содержит только вложенный тэг <port>. Тэг <port> определяет номер порта для сервисной работы КСП и СП.

Пример:

<network>

 

  <update-service>

   <port>8081</port>

   <client-timeout>15</client-timeout>

  </update-service>

 

  <client-update-service>

   <port>8082</port>

  </client-update-service>

 

  <notify-service>

   <port>8083</port>

  </notify-service>

   

  < help-service>

   <port>8084</port>

  </help-service>

 

</network>

 

Настройка рабочей папки сервера приложений <storage>

Необязательный параметр storage позволяет переопределить рабочую папку сервера приложений. Данная папка используется сервером приложений для хранения своего кэша и других вспомогательных файлов. При автоматическом обновлении путь этой папки также используется для сохраняется копии БД и полученных пакетов.

Внимание! Если требуется запускать на одном компьютере более одного сервера приложений, то необходимо обязательно указывать разные пути storage для каждого экземпляра сервера приложений. 

 

 

Пример:

  <storage>

    <path>C:\ProgramData\Parus.TornadoServer</path>

  </storage>

Файлы конфигурации клиента сервера приложений

Параметры работы клиента сервера приложений (КСП) задаются в специальных конфигурационных файлах client.config, SmartClient.Win.exe.config и SmartClient.Win32.exe.config , которые должены располагаться в корне каталога КСП. Файлы имеют формат XML.

Все параметры настройки КСП в файле client.config задаются в тэге Config. Внутри данного тэга прописываются параметры настроек. Таким образом, общий вид файла конфигурации выглядит следующим образом:

Пример файла:

<Config>

<global>

<assemblies>

<Properties>

<Property name="enable-cache" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><![CDATA[True]]></Property>

<Property name="store" type="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><![CDATA[C:\Documents and Settings\All Users\Application Data\Parus.SmartClient.Win\Assemblies]]></Property>

</Properties>

</assemblies>

</global>

</Config>

В тэге assemblies устанавливается Включение\отключение кэша и его путь. Соответственно в свойстве с именем enable-cache параметр True, говорит о том, что кэширование клиентских сборок включено. А свойство store указывает на место хранения кэша, в данном примере это "C:\Documents and Settings\All Users\Application Data\Parus.SmartClient.Win\Assemblies"

Файлы SmartClient.Win.exe.config и SmartClient.Win32.exe.config отвечают за

Пример содержимого файлов SmartClient.Win.exe.config и SmartClient.Win32.exe.config:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<runtime>

<generatePublisherEvidence enabled="false" />

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly>

<assemblyIdentity name="Microsoft.ReportViewer.WinForms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />

<bindingRedirect oldVersion="8.0.0.0" newVersion="9.0.0.0"/>

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="Microsoft.ReportViewer.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />

<bindingRedirect oldVersion="8.0.0.0" newVersion="9.0.0.0"/>

</dependentAssembly>

</assemblyBinding>

</runtime>

<appSettings>

<!-- Максимально допустимое время задержки ответа сервера приложений в секундах

      Если сервер не ответит на запрос по истечении указанного времени клиент покажет

      WebException - Timeout

    -->

<add key="ServerCallTimeout" value="9000"/>

</appSettings>

</configuration>

Тэг generatePublisherEvidence указывает, будет ли проводится проверка сертификатов. Свойство enabled со значением false, говорит о том, что проверка сертификатов издателя не будет производиться, что ускорит работу при медленном или отсутствующем подключения к сети интернет.

Тэг assemblyBinding является служебной секцией, содержит сведения о перенаправлении версии сборки и о расположении сборок.

Тэг appSettings содержит ключ ServerCallTimeout со значением value равным 9000. Данный ключ указывает время в миллисекундах, после которого клиент перестанет ждать ответа от сервера.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Главная Контакты Цены Для правообладателей
Все права на материалы предоставленные на этом сайте принадлежат их правообладателям.
Разработка
Dangetsu
© 2020 - 2024