...
Во время инициализации сервиса eltex-portal и до полной его загрузки, вместо портала будет отображаться страница "Warming up", что свидетельствует о том, что портал еще в процессе инициализации, а модули сервиса находятся в процессе конфигурации. После того как сервис eltex-portal полностью загрузился, будет произведен автоматический редирект пользователя на главную страницу портала.
Пример страницы инициализации портала:
Управление сервисом
...
Сбособы запуска/остановки сервиса
Действие | Команда | Ответ | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Проверка состояния |
|
| |||||||||||||||||||
Запуск сервиса |
|
| |||||||||||||||||||
Остановка сервиса |
|
| |||||||||||||||||||
Перезапуск сервиса |
|
|
Создание пользователя в
...
nopanel | true |
---|
...
БД MySQL
Чтобы сервис eltex-portal получил доступ для работы с БД MySQL необходимо создать пользователя.
Блок кода | ||||
---|---|---|---|---|
| ||||
eltex-potal create-db-user -h <server_ip> |
При выполнении данной команды происходит подключение к БД и создание пользователя указанного в настройка конфигурационного файла /etc/eltex-portal-constructor/application.conf
Конфигурация
...
/etc/eltex-portal/application.conf
...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
portal { defaultRedirectUrl = "http://eltex-co.ru" scheduler { tariffCheckerPeriod = 1d promoBindingsCleaner { period = 1d bindingsLifetime = 5d } paymentsCleanerPeriod = "0 0 * * * ?" } } jetty { https { port = 9443 keystorePass = 12345 keystoreFile = /etc/eltex-portal/localhost.pfx keystoreType = PKCS12 keyAlias = 1 ciphers = [ TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA ] } } database { host = localhost port = 3306 name = ELTEX_PORTAL user = javauser password = javapassword pool { # Time to wait for a connection connectionTimeout = 10s # Time to wait for connection validation validationTimeout = 3s min = 1 max = 10 } cache { # Limit of cached simple entries count (for each query type) maxEntries = 1000 # Limit of total cached portal resources size maxResourceBytes = 32m # Maximum time to retain items in the cache expireTime = 2m } } // JWT validation. You need a key from Eltex Doors. // Or you could generate it yourself. validation { public_key = "etc/eltex-doors/keys/public.pem" } |
Параметры | Описание |
---|---|
portal | |
defaultRedirectUrl | Адрес, на который будет выполнено перенаправление пользователя, в случае необходимости перезапуска его сессии на портале. Должен быть настроен по протоколу http. |
tariffCheckerPeriod | Интервал выполнения проверки наличия тарифных планов на порталах. В случае отсутствия тарифного плана: формируется сообщение об ошибке. |
promoBindingsCleaner | period - настройка периода проверки привязок, показанных баннеров клиенту. Указывается в минутах/часах/днях m/h/d bindingsLifetime - время жизни привязки, показанного баннера клиенту. Указывается в минутах/часах/днях m/h/d |
paymentsCleanerPeriod | Период очистки записей о неуспешной оплате тарифа в БД портала. Указывается в формате cron. |
jetty | |
https | Настройки работы контейнера по https. Необходимо указать расположение сертификата, ключ и прослушиваемый порт. port - прослушиваемый порт keystorePass - ключ от хранилища сертификатов keystoreFile - файл хранилища, содержащий сертификат keystoreType - тип хранилища certAlias - алиас сертификата в хранилище ciphers - поддерживаемые методы шифрования |
database | |
host | Адрес сервера БД |
port | Порт, на который сервер БД принимает входящее подключение |
name | Название БД |
user | Имя пользователя БД |
password | Пароль пользователя БД |
pool | Управление соединениями к БД connectionTimeout - Время жизни коннекта при бездействии validationTimeout - интервал проверки бездействующих коннектов min - минимальное количество коннектов max - максимальное количество коннектов |
cache | Настройки кэширования maxEntries - максимальное количество элементов в кэше maxResourceBytes - размер кэша expireTime - время хранения данных в кэше |
validation | Подключение к сервису eltex-doors public_key - путь до ключа для валидации JWT |
/etc/default/eltex-portal
...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# Eltex-Portal daemon parameters # Port for use by Eltex Portal PORT=9000 # Initial size of Java heap JAVA_INIT_HEAP=16m # Maximum size of Java heap JAVA_MAX_HEAP=256m # Additional arguments to pass to java JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-portal" |
Параметры | Описание |
---|---|
PORT | Порт, на который сервис будет принимать соединения |
JAVA_INIT_HEAP | Количество памяти, выделяемое на работу сервиса при старте. Рекомендуется выставлять равное JAVA_MAX_HEAP. |
JAVA_MAX_HEAP | Максимальное количество памяти, которое может зарезервировать сервис |
JAVA_OPTS | Дополнительные опции для запуска jvm |
/etc/eltex-portal/log4j2.xml
...
Без форматирования |
---|
<Property name="gelfLevel">${env:GELF_LEVEL:-OFF}</Property> <Property name="gelfHost">${env:GELF_HOST:-udp:lab3-test.eltex.loc}</Property> <Property name="gelfPort">${env:GELF_PORT:-12201}</Property> |
Описание ошибок в логах
...
ЛогфайлЛог-файл: /var/log/eltex-portal/log_ep.txt
Название | Значение | Пример |
---|---|---|
CHECK LOGIN AND PSW IN smsc_gate.conf | Проблема доступности NGW к сервису отправки SMS сообщений | 2018-08-22T09:38:56,420 [SimpleContainerScope.Executor@266376052-35] ERROR org.eltex.portal.sms.SendSmsWithPswResponseHandler SendSmsWithPswResponseHandler.onResult(line:53). Error while sending message on number: 79529056800. ErrorCode: 10, errMessage: 79529056800. Received error code = 1. CHECK LOGIN AND PSW IN smsc_gate.conf. Error in the parameters of function of dispatch sms via http protocol |
NGW_NOT_AVAILABLE | Проблема доступности портала к сервису NGW | 2020-07-09T09:45:07,827 [qtp76432244-17] ERROR org.eltex.portal.sms.NotificationClient NotificationClient.getConfigurationInfo(line:527). Can`t connect to Ngw server with code: 1601 code 1601:NGW_NOT_AVAILABLE and reason: NgwException{FAILED: 'Protocol is not supported by the server: eltex-ngw-api#1.16.5'} |
Докеризация сервиса
...
Сервис может быть запущен в docker-контейнере. Для этого необходимо подготовить файл с переменными окружения .env и docker-compose.yml
...
Файлы .env и docler-compose.yml должны находиться в одной папке. Контейнер запускается командой:
Блок кода | ||||
---|---|---|---|---|
| ||||
docker-compose up |